aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPer Bothner <per@bothner.com>2002-01-20 00:09:59 +0000
committerPer Bothner <per@bothner.com>2002-01-20 00:09:59 +0000
commit98081e55d97de9b28768be80794d3f117ac4dd1e (patch)
treecc3677995efb8f9e7b72f30a805243354611c6e7
parent20b7f9f6eb699c64f9821c831dec029b6bba9cb0 (diff)
downloadfsf-binutils-gdb-98081e55d97de9b28768be80794d3f117ac4dd1e.zip
fsf-binutils-gdb-98081e55d97de9b28768be80794d3f117ac4dd1e.tar.gz
fsf-binutils-gdb-98081e55d97de9b28768be80794d3f117ac4dd1e.tar.bz2
* gnu-v3-abi.c (gnuv3_rtti_type): Guard that vtable_symbol_name
isn't NULL, which can happen with some gcj-3.x-produced code.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/gnu-v3-abi.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 761b577..da3c084 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2002-01-19 Per Bothner <per@bothner.com>
+
+ * gnu-v3-abi.c (gnuv3_rtti_type): Guard that vtable_symbol_name
+ isn't NULL, which can happen with some gcj-3.x-produced code.
+
2002-01-19 Jason Thorpe <thorpej@wasabisystems.com>
* alpha-tdep.c (alpha_register_virtual_type): New function.
diff --git a/gdb/gnu-v3-abi.c b/gdb/gnu-v3-abi.c
index 93bc995..a4c7960 100644
--- a/gdb/gnu-v3-abi.c
+++ b/gdb/gnu-v3-abi.c
@@ -239,7 +239,8 @@ gnuv3_rtti_type (struct value *value,
type_info object itself to get the class name. But this way
should work just as well, and doesn't read target memory. */
vtable_symbol_name = SYMBOL_DEMANGLED_NAME (vtable_symbol);
- if (strncmp (vtable_symbol_name, "vtable for ", 11))
+ if (vtable_symbol_name == NULL
+ || strncmp (vtable_symbol_name, "vtable for ", 11))
error ("can't find linker symbol for virtual table for `%s' value",
TYPE_NAME (value_type));
class_name = vtable_symbol_name + 11;