2009-06-23 Paul Pluzhnikov <ppluzhnikov@google.com>

Revert 2009-05-14 breakpoint commit (no longer needed).
	* breakpoint.h (breakpoint_re_set_objfile): Remove
	* breakpoint.c (breakpoint_re_set_objfile): Likewise
	(create_overlay_event_breakpoint): Remove objfile parameter,
	iterate over all objfiles.
	* objfiles.c (objfile_relocate): Update.
	* symfile.c (new_symfile_objfile): Likewise.
This commit is contained in:
Paul Pluzhnikov
2009-06-23 16:28:45 +00:00
parent 85e306ed0e
commit 69de3c6af9
5 changed files with 41 additions and 44 deletions

View File

@ -1,3 +1,13 @@
2009-06-23 Paul Pluzhnikov <ppluzhnikov@google.com>
Revert 2009-05-14 breakpoint commit (no longer needed).
* breakpoint.h (breakpoint_re_set_objfile): Remove
* breakpoint.c (breakpoint_re_set_objfile): Likewise
(create_overlay_event_breakpoint): Remove objfile parameter,
iterate over all objfiles.
* objfiles.c (objfile_relocate): Update.
* symfile.c (new_symfile_objfile): Likewise.
2009-06-23 Tom Tromey <tromey@redhat.com> 2009-06-23 Tom Tromey <tromey@redhat.com>
PR gdb/10309: PR gdb/10309:

View File

@ -1476,28 +1476,33 @@ create_internal_breakpoint (CORE_ADDR address, enum bptype type)
} }
static void static void
create_overlay_event_breakpoint (char *func_name, struct objfile *objfile) create_overlay_event_breakpoint (char *func_name)
{ {
struct breakpoint *b; struct objfile *objfile;
struct minimal_symbol *m;
m = lookup_minimal_symbol_text (func_name, objfile); ALL_OBJFILES (objfile)
if (m == NULL)
return;
b = create_internal_breakpoint (SYMBOL_VALUE_ADDRESS (m),
bp_overlay_event);
b->addr_string = xstrdup (func_name);
if (overlay_debugging == ovly_auto)
{ {
b->enable_state = bp_enabled; struct breakpoint *b;
overlay_events_enabled = 1; struct minimal_symbol *m;
}
else m = lookup_minimal_symbol_text (func_name, objfile);
{ if (m == NULL)
b->enable_state = bp_disabled; continue;
overlay_events_enabled = 0;
b = create_internal_breakpoint (SYMBOL_VALUE_ADDRESS (m),
bp_overlay_event);
b->addr_string = xstrdup (func_name);
if (overlay_debugging == ovly_auto)
{
b->enable_state = bp_enabled;
overlay_events_enabled = 1;
}
else
{
b->enable_state = bp_disabled;
overlay_events_enabled = 0;
}
} }
update_global_location_list (1); update_global_location_list (1);
} }
@ -1508,7 +1513,6 @@ update_breakpoints_after_exec (void)
struct breakpoint *b; struct breakpoint *b;
struct breakpoint *temp; struct breakpoint *temp;
struct bp_location *bploc; struct bp_location *bploc;
struct objfile *objfile;
/* We're about to delete breakpoints from GDB's lists. If the /* We're about to delete breakpoints from GDB's lists. If the
INSERTED flag is true, GDB will try to lift the breakpoints by INSERTED flag is true, GDB will try to lift the breakpoints by
@ -1603,8 +1607,7 @@ update_breakpoints_after_exec (void)
} }
} }
/* FIXME what about longjmp breakpoints? Re-create them here? */ /* FIXME what about longjmp breakpoints? Re-create them here? */
ALL_OBJFILES (objfile) create_overlay_event_breakpoint ("_ovly_debug_event");
create_overlay_event_breakpoint ("_ovly_debug_event", objfile);
} }
int int
@ -7771,13 +7774,9 @@ breakpoint_re_set_one (void *bint)
return 0; 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 void
breakpoint_re_set_objfile (struct objfile *objfile) breakpoint_re_set (void)
{ {
struct breakpoint *b, *temp; struct breakpoint *b, *temp;
enum language save_language; enum language save_language;
@ -7797,19 +7796,7 @@ breakpoint_re_set_objfile (struct objfile *objfile)
set_language (save_language); set_language (save_language);
input_radix = save_input_radix; input_radix = save_input_radix;
if (objfile == NULL) create_overlay_event_breakpoint ("_ovly_debug_event");
ALL_OBJFILES (objfile)
create_overlay_event_breakpoint ("_ovly_debug_event", objfile);
else
create_overlay_event_breakpoint ("_ovly_debug_event", objfile);
}
/* 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: /* Reset the thread number of this breakpoint:

View File

@ -687,7 +687,7 @@ extern int breakpoint_thread_match (CORE_ADDR, ptid_t);
extern void until_break_command (char *, int, int); extern void until_break_command (char *, int, int);
extern void breakpoint_re_set (void); extern void breakpoint_re_set (void);
extern void breakpoint_re_set_objfile (struct objfile *);
extern void breakpoint_re_set_thread (struct breakpoint *); extern void breakpoint_re_set_thread (struct breakpoint *);
extern struct breakpoint *set_momentary_breakpoint extern struct breakpoint *set_momentary_breakpoint

View File

@ -674,7 +674,7 @@ objfile_relocate (struct objfile *objfile, struct section_offsets *new_offsets)
} }
/* Relocate breakpoints as necessary, after things are relocated. */ /* Relocate breakpoints as necessary, after things are relocated. */
breakpoint_re_set_objfile (objfile); breakpoint_re_set ();
} }
/* Many places in gdb want to test just to see if we have any partial /* Many places in gdb want to test just to see if we have any partial

View File

@ -919,7 +919,7 @@ new_symfile_objfile (struct objfile *objfile, int add_flags)
} }
else if ((add_flags & SYMFILE_DEFER_BP_RESET) == 0) else if ((add_flags & SYMFILE_DEFER_BP_RESET) == 0)
{ {
breakpoint_re_set_objfile (objfile); breakpoint_re_set ();
} }
/* We're done reading the symbol file; finish off complaints. */ /* We're done reading the symbol file; finish off complaints. */