* solib-pa64.c (read_dld_descriptor): Return zero if load map is not
authorDave Anglin <dave.anglin@nrc.ca>
Wed, 6 Aug 2008 20:17:21 +0000 (20:17 +0000)
committerDave Anglin <dave.anglin@nrc.ca>
Wed, 6 Aug 2008 20:17:21 +0000 (20:17 +0000)
setup.

gdb/ChangeLog
gdb/solib-pa64.c

index 7d1cac1257124fe865e79aaaba266d7b4a920e7e..5e4b8cf047aa2ec7410316a473493db3eb6fb5e5 100644 (file)
@@ -1,3 +1,8 @@
+2008-08-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * solib-pa64.c (read_dld_descriptor): Return zero if load map is not
+       setup.
+
 2008-08-06  Mark Kettenis  <kettenis@gnu.org>
 
        * i386obsd-nat.c (i386obsd_supply_pcb): Adjust for changes in
index d5b718a2358e92a0d343d5b847508de78e52a6c4..af04b4de818c2b1b736e6f02a0d3e0d2bba14465 100644 (file)
@@ -125,8 +125,8 @@ pa64_target_read_memory (void *buffer, CORE_ADDR ptr, size_t bufsiz, int ident)
 
    This must happen after dld starts running, so we can't do it in
    read_dynamic_info.  Record the fact that we have loaded the
-   descriptor.  If the library is archive bound, then return zero, else
-   return nonzero.  */
+   descriptor.  If the library is archive bound or the load map
+   hasn't been setup, then return zero; else return nonzero.  */
 
 static int
 read_dld_descriptor (void)
@@ -161,6 +161,9 @@ read_dld_descriptor (void)
       error (_("Error while reading in load map pointer."));
     }
 
+  if (!dld_cache.load_map)
+    return 0;
+
   /* Read in the dld load module descriptor */
   if (dlgetmodinfo (-1, 
                    &dld_cache.dld_desc,