This is the mail archive of the gdb@sourceware.org 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]
Other format: [Raw text]

Likely obsolete pieces of GDB


This is something I've been meaning to do for a long time.  GDB is, in
my humble opinion, overdue for some pruning.  I went through the GDB
source tree and identified every file that I believe is obsolete: code
only used for systems, formats, targets, etc. where support in new
versions of GDB is not useful, which is thus a candidate for removal.

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!  I've left a
lot of things off the list which I'd rather remove, but have seen
signs of life for; if there's something you'd add to the list, please
say that too.  After some discussion, I recommend we post the list
to gdb-announce.  I'm not sure if that really reaches a wider audience,
but it may.

I've CC'd people I had particular questions for.  And now, the lists!
Targets, then entire subdirectories, then files.

Native and cross targets which might be obsolete:

alpha*-*-osf*

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

vax-*-*

	(But not NetBSD or OpenBSD)

Subdirectories of GDB which might be obsolete:

osf-share

    Something from this directory is used to build hpux-thread.o.
    The rest of it is unused.  hpux-thread.o is only enabled for
    CMA threads, and PROBLEMS says (build/1411) that this hasn't
    built at least since GDB 6.5.  HP/UX has deprecated CMA threads
    as of 11i.

    Is support for CMA threads still useful?  Note that I'm talking
    just about hpux-thread.o, not about support for HP/UX 10.20.  The
    PR is still open and still listed in PROBLEMS, but it looks like
    Dave Anglin fixed it on 2004-11-22, so maybe it is.  Or maybe
    support for that platform is useful but not support for OSF
    threads.

Files at the top level which might be obsolete:

abug-rom.c

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

alpha-osf1-tdep.c

	Only used by the alpha-osf1 target.  I'm pretty sure we don't
	need support for this platform anymore.  But the last reference
	I see to it was from Joel in 2002; Joel, is this platform still
	relevant to you?

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.

gnu-v2-abi.c
gnu-v2-abi.h

	C++ ABI support for GCC 2.x.

	I'm not sure about these.  The last release of GCC they worked
	with was 2.95.3.  GCC 3.0 was released Jun 18, 2001.  Adoption
	was slow, but I think I can safely say that almost no one uses
	2.95.x any more; even Debian stopped using it three and a half
	years ago.  Should we keep this?

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.

hpux-thread.c

	Not sure about this; see discussion of osf-share above.

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.

	Mark Kettenis was the last person to make a non-mechanical
	update to this file, in 2002.  Mark, do you have any use for
	those targets?

infptrace.c

	I'd love to remove this old file (replaced by inf-ptrace.c)
	but I don't think we quite can yet.  It appears to be still
	used by alpha-osf (probably obsolete), i386-sco and similar
	(also probably obsolete), but also powerpc-aix.  AIX could
	use some updating if anyone wants to keep the GDB port to
	that platform alive.

lynx-nat.c

	Again, only used on rs6000-lynxos.

mdebugread.c
mdebugread.h

	If there's any platform left that still produces this format
	of symbolic debug information, I don't know what it is.

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-mips.c

	I think this is support for the built-in monitor of PMON.
	I see that Atsushi Nemoto reported a problem with this in 2003,
	so it might be worth keeping.

remote-sds.c

	A remote monitor target for some PowerPC boards?

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.

solib-sunos.c

	Used by: config/arm/nbsdaout.mh config/i386/nbsdaout.mh
	config/i386/obsdaout.mh config/m68k/nbsdaout.mh
	config/m68k/obsd.mh config/sparc/nbsdaout.mh
	config/vax/nbsdaout.mh

	Are those a.out targets still current, and do they still use
	"SunOS" shared library support?  If so we'll definitely
	keep this, but perhaps it needs a rename.

stop-gdb.c

	A support program for Mach 3.0.  Currently used nowhere.

uw-thread.c

	UnixWare user mode thread support.

vax-nat.c

	Used for vax-bsd (not NetBSD or OpenBSD) and vax-ultrix.

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


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