This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: stabs changes for 64 bit targets
- From: David Taylor <dtaylor at emc dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>, "gdb at sourceware dot org" <gdb at sourceware dot org>, "binutils at zalov dot cz" <binutils at zalov dot cz>
- Date: Tue, 14 May 2013 10:38:02 -0400
- Subject: Re: stabs changes for 64 bit targets
- References: <18975 dot 1368456346 at usendtaylorx2l> <20130513145224 dot GY1377 at tucnak dot redhat dot com>
Jakub Jelinek <jakub@redhat.com> wrote:
> On Mon, May 13, 2013 at 10:45:46AM -0400, David Taylor wrote:
> > There are problems when using current STABS debug format for 64 bit
> > targets.
>
> Why are you considering extending STABS at this point?
> STABS support might very well be dropped altogether from GCC 4.9 or the next
> release, people just should use DWARF[234] everywhere.
There are multiple reasons. One of the big reasons is...
Prior to GCC 4.7, DWARF is too verbose compared to STABS.
In STABS, all strings go into the string table; identical strings get
put into the table just once.
In DWARF, prior to GCC 4.7, macro strings do not go into the string
table. If 1000 files all include a given header file, each #define in
that header gets its own string in the debug information -- so the
string is present 1000 times. GCC 4.7 (DWARF4) fixes this.
We have STABS extensions (posted years ago, but never merged) that
record macros in the STABS debug information -- at the -g3 level, just
like for DWARF.
[Posting updated MACRO extensions and trying to get them merged in is on
my plate as part of the internal upgrade from gdb 7.1 to gdb 7.6. The
extensions predate 7.1.]
We are currently using GCC 4.5.4 for most things; 4.6.x for others. I
don't knbow the details, but 4.7 was (is?) considered unacceptable, so
we're planning on skipping it and waiting for 4.8.1 or later.
There are other reasons besides the DWARF verboseness, but they are
solvable. The verboseness (over 10x increase in the size of the elf
file) is a show stopper. So, for now, we're sticking with STABS.
I would like the 16 bytes STABS to be done in a manner that they would
be considered for inclusion.