Re: Likely obsolete pieces of GDB

Daniel Jacobowitz
2007-01-01T16:46:31Z

On Sat, Dec 16, 2006 at 03:59:23PM -0500, Daniel Jacobowitz wrote:
> Most of this stuff has been around for a long time, and it won't hurt
> to keep it around a little longer. So let's take our time. If you
> see anything on this list that you'd miss, please say so!

Things saved from the chopping block by requests:

alpha*-*-osf*
vax-*-*
osf-share
alpha-osf1-tdep.c
gnu-v2-abi.c
gnu-v2-abi.h
hpux-thread.c
infptrace.c
mdebugread.c
mdebugread.h
remote-mips.c
solib-sunos.c
vax-nat.c

And I see Mark deleted the orphaned remote-sds.c, so I took that off
the list too.

That leaves the items below. I propose that, when we've agreed on this
list, we (A) send the list to gdb-announce, (B) wait a few weeks for
feedback, and then (C) delete the files. At the same time, for removed
configurations we can add a blurb in configure which recognizes the
removed configurations and informs the user that support was removed.

That's a pretty aggressive removal schedule, I realize. If folks are
uncomfortable with it, speak up, and we can come up with something
slower. But I don't want to invest too much time in issuing warnings
for code that we're pretty sure no one uses any more.

Native and cross targets which might be obsolete:

arm*-wince-pe

(See the discussion of wince.c below.)

hppa*-*-hiux*

(Not hppa*-*-hpux*)

i[34567]86-ncr-*

i[34567]86-*-dgux*

i[34567]86-*-lynxos*

i[34567]86-*-netware*

i[34567]86-*-sco3.2v5*

i[34567]86-*-sco3.2v4*

i[34567]86-*-sco*

i[34567]86-*-sysv4.2*

i[34567]86-*-sysv4*

i[34567]86-*-sysv5*

i[34567]86-*-unixware2*

i[34567]86-*-unixware*

i[34567]86-*-sysv*

i[34567]86-*-isc*

m68*-cisco*-*

m68*-tandem-*

m68*-*-os68k*

mips*-*-pe

rs6000-*-lynxos*

sh*-*-pe

Files at the top level which might be obsolete:

abug-rom.c

The ABug ROM Monitor target. Only enabled for embedded m68k
targets.

coff-solib.c
coff-solib.h

These are only used for the rs6000-lynxos target. I'm pretty
much positive that no one has built a recent GDB for LynxOS.

cpu32bug-rom.c

Like abug-rom.c, another embedded monitor for m68k.

d10v-tdep.c

This was marked obsolete 2004-11-01; it's time for it to go.

dwarfread.c

DWARF 1. GCC removed support for generating this format
several years ago.

hpacc-abi.c

Support for the HP aCC C++ compiler, on PA. HP-UX for Itanium
doesn't use this; GCC for hppa-hpux doesn't use it either. See
next item.

hpread.c

Support for symbolic debug info for the HP compilers on HP-UX.
This is the equivalent of dwarf2read, not the equivalent of
elfread; removing it won't interfere with non-symbolic
debugging or with debugging SOM executables produced by the
GNU tools. I raised the question of removing this support on
the GDB mailing list earlier in 2006 and there was general
support. The only people who spoke up saying they used HP's
compilers on HP-UX said that they use HP's fork of GDB
there anyway.

i386v-nat.c

This file is used for i[34567]86-*-sco* and for
i[34567]86-*-sysv4* and for i[34567]86-*-unixware* (but not
unixware2*). I haven't heard of anyone using GDB on any of
these configurations in a long time.

lynx-nat.c

Again, only used on rs6000-lynxos.

mips-mdebug-tdep.c
mips-mdebug-tdep.h

Support for using .pdr information to backtrace. Andrew
pulled this code out of mips-tdep in 2004 and only linked it
in for mips-elf; mips-linux hasn't missed it. If you want
to improve mips-elf backtraces then finish hooking it up to
the dwarf2 unwinder instead of messing with this.

mipsread.c

ECOFF support related to, I think, the same platforms as used
mdebugread.c. Looks like alpha-osf1 uses this. I know that
ECOFF support for MIPS is pretty much unused now; some targets
need images converted to ECOFF for loading a bootloader or
kernel, but the actual work is all strictly ELF. Binutils has
discussed dropping ECOFF support for MIPS several times and
no one has spoken in its defense lately.

nlmread.c

We already removed most support for NLM files (NetWare). This
was left behind.

ocd.c
ocd.h
ppc-bdm.c

This claims to be Macraigor Wiggler support. But it only opens
a serial device; the things Macraigor sells nowadays are either
parallel or USB. In the archives I see several people trying
to use this, but no one succeeding.

Note to self: be careful removing this! The common "remotetimeout"
command appears to come from ocd.c rather than remote.c.

remote-e7000.c

"Remote debugging interface for Renesas E7000 ICE".
I found a sad looking one on ebay, but that's the only thing
I could find from this decade.

remote-est.c

"Remote debugging interface for EST-300 ICE". I couldn't
find even that much life.

remote-hms.c

An on-board ROM monitor for Renesas boards. No signs of life.

remote-st.c

"Remote debugging interface for Tandem ST2000 phone switch"
GDB is now the source of every google hit I checked for this
product.

remote-utils.c
remote-utils.h

I think that all the code in this file is actually dead.
I had a patch to remove it at some point but forgot about it.

rom68k-rom.c

"Remote target glue for the ROM68K ROM monitor"
I found only one reference that wasn't to GDB or dejagnu.

scm-exp.c
scm-lang.c
scm-lang.h
scm-tags.h
scm-valprint.c

"Scheme/Guile language support" it says. What does this
actually support? It looks like it talks to the internal
representation of some version of Guile, but I bet it hasn't
worked in a long time.

ser-e7kpc.c

"Renesas E7000 PC ISA card". Nuff said?

sh3-rom.c

Another set of Hitachi / Renesas ROM monitors, to which I
can find no references.

stop-gdb.c

A support program for Mach 3.0. Currently used nowhere.

uw-thread.c

UnixWare user mode thread support.

wince-stub.c
wince-stub.h
wince.c

For Windows CE devices. Pedro Alves breathed some life
back into these in June, but Chris Faylor rejected the
patch (with which I completely agree). It's a Windows-specific
remote protocol, and should use the GDB remote protocol
instead.

And now there's a Windows gdbserver as a start to that.
I think these files should be removed.

--
Daniel Jacobowitz
CodeSourcery