Index: breakpoint.h =================================================================== RCS file: /cvs/src/src/gdb/breakpoint.h,v retrieving revision 1.90 diff -u -p -u -r1.90 breakpoint.h --- breakpoint.h 31 Mar 2009 16:44:17 -0000 1.90 +++ breakpoint.h 29 Apr 2009 21:07:03 -0000 @@ -687,7 +687,7 @@ extern int breakpoint_thread_match (CORE extern void until_break_command (char *, int, int); extern void breakpoint_re_set (void); - +extern void breakpoint_re_set_objfile (struct objfile *); extern void breakpoint_re_set_thread (struct breakpoint *); extern struct breakpoint *set_momentary_breakpoint Index: breakpoint.c =================================================================== RCS file: /cvs/src/src/gdb/breakpoint.c,v retrieving revision 1.392 diff -u -p -u -r1.392 breakpoint.c --- breakpoint.c 29 Apr 2009 19:31:58 -0000 1.392 +++ breakpoint.c 29 Apr 2009 21:07:04 -0000 @@ -7709,9 +7709,13 @@ breakpoint_re_set_one (void *bint) return 0; } -/* Re-set all breakpoints after symbols have been re-loaded. */ +/* Re-set all breakpoints after symbols have been re-loaded. + + If OBJFILE is non-null, create overlay break point only in OBJFILE + (speed optimization). Otherwise rescan all loaded objfiles. */ + void -breakpoint_re_set (void) +breakpoint_re_set_objfile (struct objfile *objfile) { struct breakpoint *b, *temp; enum language save_language; @@ -7730,8 +7734,19 @@ breakpoint_re_set (void) } set_language (save_language); input_radix = save_input_radix; - - create_overlay_event_breakpoint ("_ovly_debug_event"); + + if (objfile != NULL) + create_overlay_event_breakpoint_1 ("_ovly_debug_event", objfile); + else + create_overlay_event_breakpoint ("_ovly_debug_event"); +} + +/* Re-set all breakpoints after symbols have been re-loaded. */ + +void +breakpoint_re_set (void) +{ + breakpoint_re_set_objfile (NULL); } /* Reset the thread number of this breakpoint: Index: symfile.c =================================================================== RCS file: /cvs/src/src/gdb/symfile.c,v retrieving revision 1.224 diff -u -p -u -r1.224 symfile.c --- symfile.c 7 Apr 2009 20:43:51 -0000 1.224 +++ symfile.c 29 Apr 2009 21:07:04 -0000 @@ -922,7 +922,7 @@ new_symfile_objfile (struct objfile *obj } else { - breakpoint_re_set (); + breakpoint_re_set_objfile (objfile); } /* We're done reading the symbol file; finish off complaints. */ Index: objfiles.c =================================================================== RCS file: /cvs/src/src/gdb/objfiles.c,v retrieving revision 1.82 diff -u -p -u -r1.82 objfiles.c --- objfiles.c 11 Mar 2009 20:26:02 -0000 1.82 +++ objfiles.c 29 Apr 2009 21:07:04 -0000 @@ -674,7 +674,7 @@ objfile_relocate (struct objfile *objfil } /* Relocate breakpoints as necessary, after things are relocated. */ - breakpoint_re_set (); + breakpoint_re_set_objfile (objfile); } /* Many places in gdb want to test just to see if we have any partial