kgdb ported to devel/gdb

From: John Baldwin <jhb_at_freebsd.org>
Date: Mon, 31 Aug 2015 14:32:04 -0700
Over the past several months I have ported kgdb to the version of gdb in ports.
I have a pending patch to the gdb port to add fork following, but once that is
done (and possibly after updating to 7.10) I will try to add my existing work
as a KGDB option on the port.  Until such time, you can try the newer kgdb by
checking out my branch from git.

Here's my cheat sheet on how to build the newer kgdb.  Note that if you build
a world with my cross-libkvm patches you should get a kgdb that can debug
i386 cores on amd64 and vice versa.

All of the targets that the native devel/gdb support have their backends
ported (so x86, sparc64, powerpc and powerpc64).  I have not yet ported
arm or mips since those don't work for userland yet in upstream gdb.  I
have only compiled non-x86 backends.  Testing of the new kgdb on sparc64
and powerpc would be appreciated.

Steps:

% git clone https://github.com/bsdjhb/gdb.git
% git checkout freebsd-7.9.1-kgdb
% fetch http://www.freebsd.org/~jhb/gdb/build
% pkg install devel/gdb

# Having gdb installed will mean you get the python bindings in the right
# place.

% pkg install gmake

# I think this is the only build tool you need?

% ./build
% cd obj

# Replace 'obj' with 'obj.<arch>' for all but amd64

% gmake

# ... wait

You will now have a binary at 'obj/gdb/kgdb'.  I just run it from my obj
tree currently when testing.  Once it becomes part of the port it will get
installed as /usr/local/bin/kgdb791 or some such.

-- 
John Baldwin
Received on Mon Aug 31 2015 - 19:33:32 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:59 UTC