GDB 5.0 won't build on GNU/Linux/sparc

Kevin Buettner kevinb@cygnus.com
Mon May 22 19:12:00 GMT 2000


On May 20,  4:21am, Alexandre Oliva wrote:

> gdb/sparc-tdep.c contains code in supply_gregset() and fill_gregset()
> that will only compile on Solaris/sparc.  glibc doesn't define
> prgreg_t, R_I7, R_PS, R_PC, R_nPC nor R_Y.  In fact, registers from i0
> to i7 aren't even available in glibc's gregset.  The solution is to
> disable USE_PROC_FS, which can be accomplished by #including the
> generic config/nm-linux.h from config/sparc/nm-linux.h, as all other
> architecture-specific `nm-linux.h's do

I'm more than a little surprised that supply_gregset() and fill_gregset()
appear in sparc-tdep.c!  In my opinion, they belong in sparc-nat.c.

The reason is that, some day, we'll get gdb fully multiarched.  When
this happens, you may wish to build an i386-*-linux* hosted gdb which
is capable of debugging natively as well as remote sparc targets.  To
do so will require that both i386-linux-nat.c AND sparc-tdep.c be linked
into the same executable.  Both of these files define supply_gregset().
This is clearly wrong; supply_gregset() needs to be defined only once
and (IMO) it should only be defined in the *-nat.c files.

> (actually, it's also missing
> from config/powerpc/nm-linux.h).  Unfortunately, I don't have access to a
> GNU/Linux/powerpc platform to test the second change.  On
> GNU/Linux/sparc, it builds correctly, but it still doesn't work :-(
> child_resume is called with step==1, and aborts because
> SOFTWARE_SINGLE_STEP_P is also 1.  I'm investigating.  Meanwhile, ok
> to install?  Release branch?

I've tested your change to config/powerpc/nm-linux.h; everything builds
okay and I see no regressions.  Therefore this change is approved for
the trunk.

It could probably go on the release branch as well, but I haven't
tested it there and would rather not have it go on the release branch
unless it's tested.  Also, I see no compelling reason for it to go in
the release branch.  To the best of my knowledge, the spurious
definition of USE_PROC_FS does not cause problems for the PowerPC
GNU/Linux port.  (However I do agree that it would be better if it
were undefined.)

After the generic nm-linux.h file is included in the powerpc specific
nm-linux.h file, this latter file needs to be cleaned up somewhat as
it contains some defines which are duplicates of those contained in
the generic version.  But I will do this after you commit your change
for config/powerpc/nm-linux.h.

Kevin


More information about the Gdb-patches mailing list