This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [commit] Fix OpenBSD/i386 and OpenBSD/amd64 kernel trapframe unwinders
> Date: Thu, 22 Dec 2005 10:26:15 -0500
> From: Daniel Jacobowitz <drow@false.org>
>
> On Thu, Dec 22, 2005 at 04:20:07PM +0100, Mark Kettenis wrote:
> > I've struggled with this for a while. Apart from adding DWARF2 CFI to
> > the kernel, there's no real alternative to matching function names.
> > And DWARF2 doesn't allow me to terminate the backtrace at the user to
> > kernel transition.
>
> Yes it does - what do you think inspired my patches for an undefined
> return address column? :-) They were for Linux's KGDB.
>
> Unless the OpenBSD kernel has a distressingly large number of entry
> points, the same thing should work there. It's only if you want to do
> something besides stop at the boundary that things get really
> complicated.
Yup. There's a seperate entry point for every interrupt vector (hence
the strncmp() for "Xintr") and on top of that, interrupts can come
from both userland and from within the kernel. I only want to
terminate the backtrace when the interrupt came from userland.
> > P.S. The new Xorg X11R6.9/X11R7.0 doesn't need any special patches
> > anymore since they now use dlopen(3) to load modules.
>
> Ooh, that's good news. The Linux kernel module loader still does,
> though - they've been talking about loading objects as shared libraries
> for years, but I don't think it's going to happen soon.
A monilithic kernel has its benefits ;-).