gdb-4.17 in FreeBSD 4.0-CURRENT

Andrew Cagney
Tue Aug 31 19:31:00 GMT 1999

Richard Cownie wrote:
> I managed to build gdb-4.17 in FreeBSD 4.0, here's how to do it:
> 1) gdb-4.17/configure --host=i386-unknown-freebsdelf4.0
>     Have to specify the host explicitly, otherwise it doesn't realize
>     it needs to use ELF.
> 2) in gdb-4.17/Makefile, add "-DSVR4_SHARED_LIBS" to definition of CFLAGS
> 3) in gdb-4.17/gdb/solib.c, add #include "elf/common.h"
>     (after #include "elf/external.h")
> 4) in gdb-4.17/gdb/infptrace.c, add #define U_REGS_OFFSET 0x1fa8
>     I figured out this number the hard way by searching all the valid PT_READ_U
>     addresses and comparing the results with PT_GETREGS - found locations
>     where eip and esp values matched up.  Doubtless there's a better way to
>     get the right value.

I've had a look at the FreeBSD source tree and they have done something
similar.  Unfortunatly that source code also contains other mods to GDB
that, I suspect, break the debugger on pre FreeBSD/ELF versions of

> Then it should all build (and perhaps work).  The same hacks probably apply
> to gdb-4.18 and gdb-current (but so far gdb-4.17 is the most useful version
> I've seen for debugging C++).

I would like to encourage the FreeBSD group to invest the time needed to
get the changes needed to GDB merged back into the master sources.  Just
remember that the responsible party will need a GPL assignment and a
clear audit trail of where any non-trivial changes came from.


More information about the Gdb mailing list