diff options
-rw-r--r-- | gdb/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/jit.c | 13 |
2 files changed, 20 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9b696e1..e8bed14 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +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. + 2016-03-31 Marcin KoĆcielnicki <koriakin@0x04.net> * NEWS: Mention support for tracepoints on powerpc*-linux. @@ -1026,7 +1026,7 @@ jit_breakpoint_deleted (struct breakpoint *b) } /* (Re-)Initialize the jit breakpoint if necessary. - Return 0 on success. */ + Return 0 if the jit breakpoint has been successfully initialized. */ static int jit_breakpoint_re_set_internal (struct gdbarch *gdbarch, @@ -1070,7 +1070,7 @@ jit_breakpoint_re_set_internal (struct gdbarch *gdbarch, paddress (gdbarch, addr)); if (ps_data->cached_code_address == addr) - return 1; + return 0; /* Delete the old breakpoint. */ if (ps_data->jit_breakpoint != NULL) @@ -1367,6 +1367,14 @@ jit_inferior_init (struct gdbarch *gdbarch) } } +/* inferior_created observer. */ + +static void +jit_inferior_created (struct target_ops *ops, int from_tty) +{ + jit_inferior_created_hook (); +} + /* Exported routine to call when an inferior has been created. */ void @@ -1496,6 +1504,7 @@ _initialize_jit (void) show_jit_debug, &setdebuglist, &showdebuglist); + observer_attach_inferior_created (jit_inferior_created); observer_attach_inferior_exit (jit_inferior_exit_hook); observer_attach_breakpoint_deleted (jit_breakpoint_deleted); |