aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorKevin Buettner <kevinb@redhat.com>2007-04-27 22:20:06 +0000
committerKevin Buettner <kevinb@redhat.com>2007-04-27 22:20:06 +0000
commit89a7ee67c58d0655d4ed0e4c5296482814f04d3c (patch)
tree11e06a8e136bb98d2c1911deb2e0e7816ea177c2 /gdb
parent6afb1f322b78e52c24f6c94ae2c6b7faf0be4853 (diff)
downloadgdb-89a7ee67c58d0655d4ed0e4c5296482814f04d3c.zip
gdb-89a7ee67c58d0655d4ed0e4c5296482814f04d3c.tar.gz
gdb-89a7ee67c58d0655d4ed0e4c5296482814f04d3c.tar.bz2
* solib-frv.c (lm_base): Bail out if the main executable has
not been relocated.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/solib-frv.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 3d95b19..fc66469 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2007-04-27 Kevin Buettner <kevinb@redhat.com>
+
+ * solib-frv.c (lm_base): Bail out if the main executable has
+ not been relocated.
+
2007-04-27 Ulrich Weigand <uweigand@de.ibm.com>
* alpha-linux-tdep.c (alpha_linux_supply_fpregset): Correct location
diff --git a/gdb/solib-frv.c b/gdb/solib-frv.c
index 5d2c9a1..f9f966d 100644
--- a/gdb/solib-frv.c
+++ b/gdb/solib-frv.c
@@ -361,6 +361,14 @@ lm_base (void)
CORE_ADDR addr;
gdb_byte buf[FRV_PTR_SIZE];
+ /* One of our assumptions is that the main executable has been relocated.
+ Bail out if this has not happened. (Note that post_create_inferior()
+ in infcmd.c will call solib_add prior to solib_create_inferior_hook().
+ If we allow this to happen, lm_base_cache will be initialized with
+ a bogus value. */
+ if (main_executable_lm_info == 0)
+ return 0;
+
/* If we already have a cached value, return it. */
if (lm_base_cache)
return lm_base_cache;