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:
parent
85e306ed0e
commit
69de3c6af9
@ -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>
|
||||
|
||||
PR gdb/10309:
|
||||
|
@ -1476,28 +1476,33 @@ create_internal_breakpoint (CORE_ADDR address, enum bptype type)
|
||||
}
|
||||
|
||||
static void
|
||||
create_overlay_event_breakpoint (char *func_name, struct objfile *objfile)
|
||||
create_overlay_event_breakpoint (char *func_name)
|
||||
{
|
||||
struct breakpoint *b;
|
||||
struct minimal_symbol *m;
|
||||
struct objfile *objfile;
|
||||
|
||||
m = lookup_minimal_symbol_text (func_name, 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)
|
||||
ALL_OBJFILES (objfile)
|
||||
{
|
||||
b->enable_state = bp_enabled;
|
||||
overlay_events_enabled = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
b->enable_state = bp_disabled;
|
||||
overlay_events_enabled = 0;
|
||||
struct breakpoint *b;
|
||||
struct minimal_symbol *m;
|
||||
|
||||
m = lookup_minimal_symbol_text (func_name, objfile);
|
||||
if (m == NULL)
|
||||
continue;
|
||||
|
||||
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);
|
||||
}
|
||||
@ -1508,7 +1513,6 @@ update_breakpoints_after_exec (void)
|
||||
struct breakpoint *b;
|
||||
struct breakpoint *temp;
|
||||
struct bp_location *bploc;
|
||||
struct objfile *objfile;
|
||||
|
||||
/* We're about to delete breakpoints from GDB's lists. If the
|
||||
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? */
|
||||
ALL_OBJFILES (objfile)
|
||||
create_overlay_event_breakpoint ("_ovly_debug_event", objfile);
|
||||
create_overlay_event_breakpoint ("_ovly_debug_event");
|
||||
}
|
||||
|
||||
int
|
||||
@ -7771,13 +7774,9 @@ breakpoint_re_set_one (void *bint)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 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. */
|
||||
|
||||
/* Re-set all breakpoints after symbols have been re-loaded. */
|
||||
void
|
||||
breakpoint_re_set_objfile (struct objfile *objfile)
|
||||
breakpoint_re_set (void)
|
||||
{
|
||||
struct breakpoint *b, *temp;
|
||||
enum language save_language;
|
||||
@ -7797,19 +7796,7 @@ breakpoint_re_set_objfile (struct objfile *objfile)
|
||||
set_language (save_language);
|
||||
input_radix = save_input_radix;
|
||||
|
||||
if (objfile == NULL)
|
||||
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);
|
||||
create_overlay_event_breakpoint ("_ovly_debug_event");
|
||||
}
|
||||
|
||||
/* Reset the thread number of this breakpoint:
|
||||
|
@ -687,7 +687,7 @@ extern int breakpoint_thread_match (CORE_ADDR, ptid_t);
|
||||
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
|
||||
|
@ -674,7 +674,7 @@ objfile_relocate (struct objfile *objfile, struct section_offsets *new_offsets)
|
||||
}
|
||||
|
||||
/* 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
|
||||
|
@ -919,7 +919,7 @@ new_symfile_objfile (struct objfile *objfile, int add_flags)
|
||||
}
|
||||
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. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user