* 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.
This commit is contained in:
Jim Blandy 2003-09-13 00:17:36 +00:00
parent 2a13f9bcb4
commit d646061f47
2 changed files with 10 additions and 1 deletions

View File

@ -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.

View File

@ -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++)
{