* breakpoint.c (re_enable_breakpoints_in_shlibs): Only re-enable a
authorDaniel Jacobowitz <drow@false.org>
Mon, 17 Nov 2003 00:55:49 +0000 (00:55 +0000)
committerDaniel Jacobowitz <drow@false.org>
Mon, 17 Nov 2003 00:55:49 +0000 (00:55 +0000)
bp_shlib_disabled breakpoint if there is a shared library mapped
at its expected address.

gdb/ChangeLog
gdb/breakpoint.c

index 3e10ccfcb4ae1f5c0ae541cab323935b845c8a24..f92fadcce67a5a7be392df7c2ccd369cc124fc4a 100644 (file)
@@ -1,3 +1,9 @@
+2003-11-16  Daniel Jacobowitz  <drow@mvista.com>
+
+       * breakpoint.c (re_enable_breakpoints_in_shlibs): Only re-enable a
+       bp_shlib_disabled breakpoint if there is a shared library mapped
+       at its expected address.
+
 2003-11-16  Andrew Cagney  <cagney@redhat.com>
 
        * configure.tgt: Delete mips*tx39*-elf*.
index 0e95e208cc352a324f9b0eefaa27f033e6140b1d..02874bcf290d66ea755791d1a2ef81685937bf91 100644 (file)
@@ -4297,11 +4297,12 @@ re_enable_breakpoints_in_shlibs (void)
   ALL_BREAKPOINTS (b)
     if (b->enable_state == bp_shlib_disabled)
     {
-      char buf[1];
+      char buf[1], *lib;
 
       /* Do not reenable the breakpoint if the shared library
          is still not mapped in.  */
-      if (target_read_memory (b->loc->address, buf, 1) == 0)
+      lib = PC_SOLIB (b->loc->address);
+      if (lib != NULL && target_read_memory (b->loc->address, buf, 1) == 0)
        b->enable_state = bp_enabled;
     }
 }