forked from Imagelibrary/binutils-gdb
* breakpoint.c (breakpoint_init_inferior): Also delete
bp_shlib_event breakpoints. * solib-frv.c (enable_break): Remove call to remove_solib_event_breakpoints. * solib-svr4.c (enable_break): Ditto. * solib-darwin.c (darwin_solib_create_inferior_hook): Ditto. * solib-pa64.c (pa64_solib_create_inferior_hook): Ditto. * solib-som.c (som_solib_create_inferior_hook): Ditto. * solib-spu.c (spu_enable_break): Ditto.
This commit is contained in:
@@ -1,3 +1,15 @@
|
|||||||
|
2010-02-24 Pedro Alves <pedro@codesourcery.com>
|
||||||
|
|
||||||
|
* breakpoint.c (breakpoint_init_inferior): Also delete
|
||||||
|
bp_shlib_event breakpoints.
|
||||||
|
* solib-frv.c (enable_break): Remove call to
|
||||||
|
remove_solib_event_breakpoints.
|
||||||
|
* solib-svr4.c (enable_break): Ditto.
|
||||||
|
* solib-darwin.c (darwin_solib_create_inferior_hook): Ditto.
|
||||||
|
* solib-pa64.c (pa64_solib_create_inferior_hook): Ditto.
|
||||||
|
* solib-som.c (som_solib_create_inferior_hook): Ditto.
|
||||||
|
* solib-spu.c (spu_enable_break): Ditto.
|
||||||
|
|
||||||
2010-02-23 Harald Koenig <H.Koenig@science-computing.de>
|
2010-02-23 Harald Koenig <H.Koenig@science-computing.de>
|
||||||
|
|
||||||
* c-exp.y (token_and_value): s/union YYSTYPE/YYSTYPE.
|
* c-exp.y (token_and_value): s/union YYSTYPE/YYSTYPE.
|
||||||
|
|||||||
@@ -2248,13 +2248,31 @@ breakpoint_init_inferior (enum inf_context context)
|
|||||||
switch (b->type)
|
switch (b->type)
|
||||||
{
|
{
|
||||||
case bp_call_dummy:
|
case bp_call_dummy:
|
||||||
case bp_watchpoint_scope:
|
|
||||||
|
|
||||||
/* If the call dummy breakpoint is at the entry point it will
|
/* If the call dummy breakpoint is at the entry point it will
|
||||||
cause problems when the inferior is rerun, so we better
|
cause problems when the inferior is rerun, so we better get
|
||||||
get rid of it.
|
rid of it. */
|
||||||
|
|
||||||
|
case bp_watchpoint_scope:
|
||||||
|
|
||||||
|
/* Also get rid of scope breakpoints. */
|
||||||
|
|
||||||
|
case bp_shlib_event:
|
||||||
|
|
||||||
|
/* Also remove solib event breakpoints. Their addresses may
|
||||||
|
have changed since the last time we ran the program.
|
||||||
|
Actually we may now be debugging against different target;
|
||||||
|
and so the solib backend that installed this breakpoint may
|
||||||
|
not be used in by the target. E.g.,
|
||||||
|
|
||||||
|
(gdb) file prog-linux
|
||||||
|
(gdb) run # native linux target
|
||||||
|
...
|
||||||
|
(gdb) kill
|
||||||
|
(gdb) file prog-win.exe
|
||||||
|
(gdb) tar rem :9999 # remote Windows gdbserver.
|
||||||
|
*/
|
||||||
|
|
||||||
Also get rid of scope breakpoints. */
|
|
||||||
delete_breakpoint (b);
|
delete_breakpoint (b);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
@@ -309,10 +309,6 @@ darwin_solib_create_inferior_hook (int from_tty)
|
|||||||
bfd *dyld_bfd = NULL;
|
bfd *dyld_bfd = NULL;
|
||||||
struct inferior *inf = current_inferior ();
|
struct inferior *inf = current_inferior ();
|
||||||
|
|
||||||
/* First, remove all the solib event breakpoints. Their addresses
|
|
||||||
may have changed since the last time we ran the program. */
|
|
||||||
remove_solib_event_breakpoints ();
|
|
||||||
|
|
||||||
/* Find the program interpreter. */
|
/* Find the program interpreter. */
|
||||||
interp_name = find_program_interpreter ();
|
interp_name = find_program_interpreter ();
|
||||||
if (!interp_name)
|
if (!interp_name)
|
||||||
|
|||||||
@@ -818,10 +818,6 @@ enable_break (void)
|
|||||||
{
|
{
|
||||||
asection *interp_sect;
|
asection *interp_sect;
|
||||||
|
|
||||||
/* Remove all the solib event breakpoints. Their addresses
|
|
||||||
may have changed since the last time we ran the program. */
|
|
||||||
remove_solib_event_breakpoints ();
|
|
||||||
|
|
||||||
if (symfile_objfile == NULL)
|
if (symfile_objfile == NULL)
|
||||||
{
|
{
|
||||||
if (solib_frv_debug)
|
if (solib_frv_debug)
|
||||||
|
|||||||
@@ -338,10 +338,6 @@ pa64_solib_create_inferior_hook (int from_tty)
|
|||||||
struct objfile *objfile;
|
struct objfile *objfile;
|
||||||
CORE_ADDR anaddr;
|
CORE_ADDR anaddr;
|
||||||
|
|
||||||
/* First, remove all the solib event breakpoints. Their addresses
|
|
||||||
may have changed since the last time we ran the program. */
|
|
||||||
remove_solib_event_breakpoints ();
|
|
||||||
|
|
||||||
if (symfile_objfile == NULL)
|
if (symfile_objfile == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
@@ -192,10 +192,6 @@ som_solib_create_inferior_hook (int from_tty)
|
|||||||
char buf[4];
|
char buf[4];
|
||||||
CORE_ADDR anaddr;
|
CORE_ADDR anaddr;
|
||||||
|
|
||||||
/* First, remove all the solib event breakpoints. Their addresses
|
|
||||||
may have changed since the last time we ran the program. */
|
|
||||||
remove_solib_event_breakpoints ();
|
|
||||||
|
|
||||||
if (symfile_objfile == NULL)
|
if (symfile_objfile == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
@@ -367,10 +367,6 @@ spu_enable_break (struct objfile *objfile)
|
|||||||
static void
|
static void
|
||||||
spu_solib_create_inferior_hook (int from_tty)
|
spu_solib_create_inferior_hook (int from_tty)
|
||||||
{
|
{
|
||||||
/* Remove all previously installed solib breakpoints. Both the SVR4
|
|
||||||
code and us will re-install all required breakpoints. */
|
|
||||||
remove_solib_event_breakpoints ();
|
|
||||||
|
|
||||||
/* Handle SPE stand-alone executables. */
|
/* Handle SPE stand-alone executables. */
|
||||||
if (spu_standalone_p ())
|
if (spu_standalone_p ())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1315,10 +1315,6 @@ enable_break (struct svr4_info *info, int from_tty)
|
|||||||
gdb_byte *interp_name;
|
gdb_byte *interp_name;
|
||||||
CORE_ADDR sym_addr;
|
CORE_ADDR sym_addr;
|
||||||
|
|
||||||
/* First, remove all the solib event breakpoints. Their addresses
|
|
||||||
may have changed since the last time we ran the program. */
|
|
||||||
remove_solib_event_breakpoints ();
|
|
||||||
|
|
||||||
info->interp_text_sect_low = info->interp_text_sect_high = 0;
|
info->interp_text_sect_low = info->interp_text_sect_high = 0;
|
||||||
info->interp_plt_sect_low = info->interp_plt_sect_high = 0;
|
info->interp_plt_sect_low = info->interp_plt_sect_high = 0;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user