This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: tolerate files with no .data, .bss, or .rodata


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.

Index: gdb/dbxread.c
===================================================================
RCS file: /cvs/src/src/gdb/dbxread.c,v
retrieving revision 1.53
diff -c -r1.53 dbxread.c
*** gdb/dbxread.c	13 Sep 2003 00:00:32 -0000	1.53
--- gdb/dbxread.c	13 Sep 2003 00:06:12 -0000
***************
*** 1382,1388 ****
      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);
  
    for (symnum = 0; symnum < DBX_SYMCOUNT (objfile); symnum++)
      {
--- 1382,1393 ----
      data_sect_index = SECT_OFF_BSS (objfile);
    if (data_sect_index == -1)
      data_sect_index = SECT_OFF_RODATA (objfile);
! 
!   /* 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++)
      {


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]