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]

Re: Forgot to note


[ gdb@sources.redhat.com added to the Cc list. ]

On Oct 10,  8:38pm, Daniel Berlin wrote:

> When the C++ abi moves to the new-abi, I can't fix stabs support
> without either adding a whole bunch of cruft, or making it not support
> the old ABI.
> 
> This is because things like gdb_mangle_name have to be changed to
> handle the new mangling scheme.
> So I have to either detect whether we have old-abi or new-abi
> somewhere, and then add a whole bunch of "if gnu-new-abi" type
> statements, or stop supporting the old abi for stabs/C++.
> 
> Currently, the consensus on gcc seems to be that linux should move to
> dwarf2 before 3.0 releases, which would mean that stopping support for
> new-abi/stabs would also be an option.
> 
> DWARF2 will work fine with either ABI automatically.
> 
> What should we do?
> Not support new-abi/stabs?
> Not support old-abi/stabs?
> Support both? (this is a not insignificant amount of work).

I think we'll need to support both for a period of time.

Here are the reasons:

 1) GDB is should be able to debug executables produced by compilers
    other than GCC.  Some of these may still use stabs with the old
    demangling format.

 2) GDB needs to work with old compilers as well as new ones.  I've
    worked in environments where we used GCC, but we would only switch
    to a new release after a lot of very careful testing.  (And
    sometimes not even then.)  Anyway, switching to a new version of
    GDB was not quite so onerous because it doesn't directly affect
    the quality or correctness of the code comprising an executable
    the way that a compiler or linker does.

    I think it would be unacceptable to force folks to upgrade to
    a particular version of GCC just because they've decided to install
    a new GDB release.

I do think there may come a time when we'll be able to drop support
for the old ABI, but I think that day is a ways off...

It'd be useful if someone could enumerate the compilers which still
produce stabs as the debug info.  For those that don't, but used to,
it'd also be good to know roughly when that support was dropped.

Assuming that we do need to support both, it'd be nice if the code
were arranged in such a way that it'd be easy to rip out the support
for the old ABI when the time comes.

Kevin

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