This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[RFC] When can we remove Sun-specific stabs support? (when will it be ok to delete partial_symtab.section_offsets?)
- From: Doug Evans <dje at google dot com>
- To: gdb-patches at sourceware dot org
- Date: Thu, 07 May 2015 21:21:26 +0000
- Subject: [RFC] When can we remove Sun-specific stabs support? (when will it be ok to delete partial_symtab.section_offsets?)
- Authentication-results: sourceware.org; auth=none
Hi.
While working on improving some symbol table code I stumbled on
partial_symtab.section_offsets and that led me to elfstab_offset_sections.
AFAICT, the only reason partial_symtab.section_offsets exists is for
Sun stabs. There are no regressions if I comment out
elfstab_offset_sections on linux+stabs.
Grep for Ddata.data in doc/stabs.texinfo for further background.
elfread.c:
/* When handling an ELF file that contains Sun STABS debug info,
some of the debug info is relative to the particular chunk of the
section that was generated in its individual .o file. E.g.
offsets to static variables are relative to the start of the data
segment *for that module before linking*. This information is
painfully squirreled away in the ELF symbol table as local symbols
with wierd names. Go get 'em when needed. */
dbxread.c:
#ifdef HAVE_ELF
/* If we're handling an ELF file, drag some section-relocation info
for this source file out of the ELF symbol table, to compensate for
Sun brain death. This replaces the section_offsets in this psymtab,
if successful. */
elfstab_offset_sections (objfile, result);
#endif
N.B. I'm not suggesting remove stabs support, just this hack for Sun stabs.
Deleting partial_symtab.section_offsets will simplify some code
(for non-sun-stabs it's just a pointer to objfile->section_offsets).
It'll also help the ObjfileSplitting project.
https://sourceware.org/gdb/wiki/ObjfileSplitting