Skip to content
  • Yichao Yu's avatar
    Fix PR gdb/19858: GDB doesn't register the JIT libraries on attach · 9bb84c9f
    Yichao Yu authored
    Ref: https://sourceware.org/ml/gdb/2016-03/msg00023.html
    
    GDB currently fails to fetch the list of already-registered JIT
    modules on attach.
    
    Nothing is calling jit_inferior_init, which is what is responsible for
    walking the JIT object list at init time.
    
    Despite the misleading naming, jit_inferior_created_hook ->
    jit_inferior_init is only called when the inferior execs.
    
    This regressed with the fix for PR gdb/13431 (03bef283):
     https://sourceware.org/ml/gdb-patches/2012-02/msg00023.html
    
     which
    removed the inferior_created (jit_inferior_created_observer)
    observer.
    
    Adding an inferior_created observer back fixes the issue.
    
    In turn, this exposes a bug in jit_breakpoint_re_set_internal as well,
    which is returning the wrong result when we already have the
    breakpoint at the right address.
    
    gdb/ChangeLog:
    2016-03-31  Yichao Yu  <yyc1992@gmail.com>
    
    	PR gdb/19858
    	* jit.c (jit_breakpoint_re_set_internal): Return 0 if we already
    	got the breakpoint at the right address.
    	(jit_inferior_created): New function.
    	(_initialize_jit): Install jit_inferior_created as
    	inferior_created observer.
    
    Signed-off-by: default avatarPedro Alves <palves@redhat.com>
    9bb84c9f