* 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:
Pedro Alves 2010-02-24 00:29:02 +00:00
parent e6baae03e6
commit ab92d69b1e
8 changed files with 34 additions and 28 deletions

View File

@ -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>
* c-exp.y (token_and_value): s/union YYSTYPE/YYSTYPE.

View File

@ -2248,13 +2248,31 @@ breakpoint_init_inferior (enum inf_context context)
switch (b->type)
{
case bp_call_dummy:
case bp_watchpoint_scope:
/* If the call dummy breakpoint is at the entry point it will
cause problems when the inferior is rerun, so we better
get rid of it.
cause problems when the inferior is rerun, so we better get
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);
break;

View File

@ -309,10 +309,6 @@ darwin_solib_create_inferior_hook (int from_tty)
bfd *dyld_bfd = NULL;
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. */
interp_name = find_program_interpreter ();
if (!interp_name)

View File

@ -818,10 +818,6 @@ enable_break (void)
{
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 (solib_frv_debug)

View File

@ -338,10 +338,6 @@ pa64_solib_create_inferior_hook (int from_tty)
struct objfile *objfile;
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)
return;

View File

@ -192,10 +192,6 @@ som_solib_create_inferior_hook (int from_tty)
char buf[4];
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)
return;

View File

@ -367,10 +367,6 @@ spu_enable_break (struct objfile *objfile)
static void
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. */
if (spu_standalone_p ())
{

View File

@ -1315,10 +1315,6 @@ enable_break (struct svr4_info *info, int from_tty)
gdb_byte *interp_name;
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_plt_sect_low = info->interp_plt_sect_high = 0;