diff options
author | Jim Blandy <jimb@codesourcery.com> | 2003-09-13 00:17:36 +0000 |
---|---|---|
committer | Jim Blandy <jimb@codesourcery.com> | 2003-09-13 00:17:36 +0000 |
commit | d646061f47345a5007a671c810b73eecc60960dd (patch) | |
tree | 9e8476cb774ae6f0f7e4e1489cf9352be4315934 | |
parent | 2a13f9bcb4aac7956a16fb12f2557453aa129ae7 (diff) | |
download | gdb-d646061f47345a5007a671c810b73eecc60960dd.zip gdb-d646061f47345a5007a671c810b73eecc60960dd.tar.gz gdb-d646061f47345a5007a671c810b73eecc60960dd.tar.bz2 |
* dbxread.c (read_dbx_symtab): Don't report an internal error if
the file has no .data, .bss, or .rodata sections. Instead wait
until we see a variable alleged to live in one of those sections.
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/dbxread.c | 7 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 2f470b8..48e36c9 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,9 @@ 2003-09-12 Jim Blandy <jimb@redhat.com> + * dbxread.c (read_dbx_symtab): Don't report an internal error if + the file has no .data, .bss, or .rodata sections. Instead wait + until we see a variable alleged to live in one of those sections. + * dbxread.c (read_dbx_symtab): If we have no .data section and no .bss section, presume that any variables we find live in the .rodata section. diff --git a/gdb/dbxread.c b/gdb/dbxread.c index 8bfaf1c..d58fc5b 100644 --- a/gdb/dbxread.c +++ b/gdb/dbxread.c @@ -1382,7 +1382,12 @@ read_dbx_symtab (struct objfile *objfile) data_sect_index = SECT_OFF_BSS (objfile); if (data_sect_index == -1) data_sect_index = SECT_OFF_RODATA (objfile); - gdb_assert (data_sect_index != -1); + + /* If data_sect_index is still -1, that's okay. It's perfectly fine + for the file to have no .data, no .bss, and no .text at all, if + it also has no global or static variables. If it does, we will + get an internal error from an ANOFFSET macro below when we try to + use data_sect_index. */ for (symnum = 0; symnum < DBX_SYMCOUNT (objfile); symnum++) { |