diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 2e26b26810..6b6ad28e0e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2008-08-22 Ulrich Weigand + + * breakpoint.c (create_overlay_event_breakpoint): Rename to ... + (create_overlay_event_breakpoint_1): ... this. Add OBJFILE parameter. + (create_overlay_event_breakpoint): Loop over all objfiles to install + multiple instances of the overlay event breakpoint if present. + 2008-08-22 Ulrich Weigand * spu-tdep.c (spu_overlay_new_objfile): Only consider SPU objfiles. diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index a81f40dc45..18e207fdf8 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -4528,12 +4528,12 @@ delete_longjmp_breakpoint (int thread) } static void -create_overlay_event_breakpoint (char *func_name) +create_overlay_event_breakpoint_1 (char *func_name, struct objfile *objfile) { struct breakpoint *b; struct minimal_symbol *m; - if ((m = lookup_minimal_symbol_text (func_name, NULL)) == NULL) + if ((m = lookup_minimal_symbol_text (func_name, objfile)) == NULL) return; b = create_internal_breakpoint (SYMBOL_VALUE_ADDRESS (m), @@ -4553,6 +4553,14 @@ create_overlay_event_breakpoint (char *func_name) update_global_location_list (1); } +static void +create_overlay_event_breakpoint (char *func_name) +{ + struct objfile *objfile; + ALL_OBJFILES (objfile) + create_overlay_event_breakpoint_1 (func_name, objfile); +} + void enable_overlay_breakpoints (void) {