* solib-osf.c (osf_solib_create_inferior_hook): Do nothing if
authorJoel Brobecker <brobecker@gnat.com>
Wed, 18 Jun 2008 21:30:50 +0000 (21:30 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Wed, 18 Jun 2008 21:30:50 +0000 (21:30 +0000)
        the target cannot run.

gdb/ChangeLog
gdb/solib-osf.c

index f6488195b8a5647571cb47e123413b6d2aeb8072..58391b82f7e6a98d38b6c47ba014ae48f10d6ed9 100644 (file)
@@ -1,4 +1,9 @@
-2008-05-24  Joel Brobecker  <brobecker@adacore.com>
+2008-06-18  Joel Brobecker  <brobecker@adacore.com>
+
+        * solib-osf.c (osf_solib_create_inferior_hook): Do nothing if
+        the target cannot run.
+
+2008-06-18  Joel Brobecker  <brobecker@adacore.com>
 
        * solib-osf.c (osf_solib_create_inferior_hook): Do nothing if
        we're attaching to a running process.
index bf947332c9f2a9b99468c0157225182cfa4d5d57..00f1cd278a5955e44aa3da410b94c262ca34f57a 100644 (file)
@@ -321,7 +321,14 @@ osf_solib_create_inferior_hook (void)
   /* Now run the target.  It will eventually get a SIGTRAP, at
      which point all of the libraries will have been mapped in and we
      can go groveling around in the rld structures to find
-     out what we need to know about them. */
+     out what we need to know about them.
+     
+     If debugging from a core file, we cannot resume the execution
+     of the inferior.  But this is actually not an issue, because
+     shared libraries have already been mapped anyways, which means
+     we have nothing more to do.  */
+  if (!target_can_run (&current_target))
+    return;
 
   clear_proceed_status ();
   stop_soon = STOP_QUIETLY;