aboutsummaryrefslogtreecommitdiff
path: root/gdb/dbxread.c
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1991-10-03 16:35:17 +0000
committerJohn Gilmore <gnu@cygnus>1991-10-03 16:35:17 +0000
commit5bc757e24478d4a037a8fb7a191e29dc11c26619 (patch)
treefabd1f2b08b7a9746f0542d22afee454d3e56d04 /gdb/dbxread.c
parentde7e640dd5e4dffc2b0674282da1951b07600436 (diff)
downloadgdb-5bc757e24478d4a037a8fb7a191e29dc11c26619.zip
gdb-5bc757e24478d4a037a8fb7a191e29dc11c26619.tar.gz
gdb-5bc757e24478d4a037a8fb7a191e29dc11c26619.tar.bz2
* dbxread.c (read_type): Handle error case slightly better.
Make complaint message not C++-specific. * symtab.c (lookup_symtab_1, lookup_symbol): "fatal" errors between symtabs and psymtabs become ordinary error()s. * dbxread.c (read_dbx_symtab): Relocate end_of_text_addr properly, making "end pc" correct in shared lib psymtabs. (From Guy Harris <guy@auspex.com>.)
Diffstat (limited to 'gdb/dbxread.c')
-rw-r--r--gdb/dbxread.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index dba32b7..d5ebb39 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -403,7 +403,7 @@ struct complaint const_vol_complaint =
{"const/volatile indicator missing (ok if using g++ v1.x), got '%c'", 0, 0};
struct complaint error_type_complaint =
- {"C++ type mismatch between compiler and debugger", 0, 0};
+ {"debug info mismatch between compiler and debugger", 0, 0};
struct complaint invalid_member_complaint =
{"invalid (minimal) member type data format at symtab pos %d.", 0, 0};
@@ -1711,7 +1711,7 @@ read_dbx_symtab (symfile_name, addr,
#ifdef END_OF_TEXT_DEFAULT
end_of_text_addr = END_OF_TEXT_DEFAULT;
#else
- end_of_text_addr = text_addr + text_size;
+ end_of_text_addr = text_addr + addr + text_size; /* Relocate */
#endif
symtab_input_desc = desc; /* This is needed for fill_symbuf below */
@@ -4089,6 +4089,8 @@ read_type (pp)
break;
default:
+ --*pp; /* Go back to the symbol in error */
+ /* Particularly important if it was \0! */
return error_type (pp);
}