diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/solib-pa64.c | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7d1cac1..5e4b8cf 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -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 diff --git a/gdb/solib-pa64.c b/gdb/solib-pa64.c index d5b718a..af04b4d 100644 --- a/gdb/solib-pa64.c +++ b/gdb/solib-pa64.c @@ -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, |