mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-20 01:50:24 +08:00
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:
@ -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:
|
||||||
|
@ -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:
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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. */
|
||||||
|
Reference in New Issue
Block a user