We have no targets that emit SDB debug info by default.  We dropped all
of the SVR3 Unix and embedded COFF targets a while ago.  The only
targets that are still able to emit SDB debug info are cygwin, mingw,
and msdosdjgpp.

I tried a cygwin build with sources modified to emit SDB by default, to
see if the support was still usable.  I ran into multiple problems.
 There is no SDB support for IMPORTED_DECL which was added in 2008.  -
freorder-functions and -freorder-blocks-and-partition did not work and
had to be disabled.  I hit a cgraph assert because sdbout.c uses
assemble_name on types, which fails if there is a function and type
with the same name.  This also causes types to be added to the debug
info with prepended underscores which is wrong.  I then ran into a
problem with the i386_pe_declare_function_type call from
i386_pe_file_end and gave up because I didn't see an easy workaround.

It seems clear that the SDB support is no longer usable, and probably
hasn't been for a while.  This support should just be removed.

SDB is both a debug info format and an old Unix debugger.  There were
some references to the debugger that I left in, changing to past tense,
as the comments are useful history to explain why the code was written
the was it was.  Otherwise, I tried to eliminate all references to sdb
as a debug info format.

This patch series was tested with a C only cross compiler build for all
modified embedded targets, a default languages build for power aix,
i686 cygwin, and x86_64 linux.  I also did gdb testsuite runs for
cygwin and linux.  There were no regressions.

As a debug info maintainer, I can self approve some of this stuff,
would be would be good to get a review from one of the other global
reviewers, and/or target maintainers.

Jim

Reply via email to