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-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.
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;
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)
{
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)
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;
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;
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 ())
{
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;