Date: Sun, 18 May 2003 23:50:56 +0100 From: Ian Dowse <iedowse@maths.tcd.ie> To: obrien@freebsd.org Cc: current@freebsd.org Subject: Re: kgdb missing stack frames Message-ID: <200305182350.aa53905@salmon.maths.tcd.ie> In-Reply-To: Your message of "Sun, 18 May 2003 15:14:57 PDT." <20030518221457.GA4531@dragon.nuxi.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <20030518221457.GA4531@dragon.nuxi.com>, David O'Brien writes: > >This would give vendor differences I was trying to avoid. I think this is another way to fix the problem. I haven't tested it, but if you have >a chance before I do, want to give it a spin? Thanks, to get it to work I had to include tm.h first, as otherwise I got lots of warnings about the macros that are first defined in fbsd-kgdb-i386.h being redefined later: In file included from tm.h:27, from /usr/src/contrib/gdb/gdb/defs.h:968, from /usr/src/contrib/gdb/gdb/annotate.c:22: /usr/src/contrib/gdb/gdb/config/i386/tm-i386.h:300:1: warning: "FRAME_SAVED_PC" redefined In file included from nm.h:4, from /usr/src/contrib/gdb/gdb/defs.h:960, from /usr/src/contrib/gdb/gdb/annotate.c:22: /usr/src/gnu/usr.bin/binutils/gdb/fbsd-kgdb-i386.h:21:1: warning: this is the location of the previous definition I don't know whether including tm.h there is a reasonable thing to do, but following patch seems to work. I've only tested it on the i386, so I guess further changes will be needed for other architectures. Ian Index: Makefile =================================================================== RCS file: /dump/FreeBSD-CVS/src/gnu/usr.bin/binutils/gdb/Makefile,v retrieving revision 1.65 diff -u -r1.65 Makefile --- Makefile 21 Mar 2003 00:30:53 -0000 1.65 +++ Makefile 18 May 2003 22:35:14 -0000 @@ -127,8 +127,10 @@ .PRECIOUS: init.c nm.h: - echo '#include "${GDB_CPU}/nm-fbsd.h"' >${.TARGET} + echo '#include "tm.h"' >${.TARGET} + echo '#include "${GDB_CPU}/nm-fbsd.h"' >>${.TARGET} echo '#include "fbsd-kgdb.h"' >>${.TARGET} + echo '#include "fbsd-kgdb-${TARGET_ARCH}.h"' >>${.TARGET} .for H in tm-fbsd xm-${GDB_CPU} ${H:C/-.*$//}.h: Index: fbsd-kgdb-i386.h =================================================================== RCS file: /dump/FreeBSD-CVS/src/gnu/usr.bin/binutils/gdb/fbsd-kgdb-i386.h,v retrieving revision 1.3 diff -u -r1.3 fbsd-kgdb-i386.h --- fbsd-kgdb-i386.h 18 Sep 2002 16:20:49 -0000 1.3 +++ fbsd-kgdb-i386.h 18 May 2003 22:20:04 -0000 @@ -20,10 +20,8 @@ #undef FRAME_SAVED_PC #define FRAME_SAVED_PC(FRAME) \ (kernel_debugging \ - ? fbsd_kern_frame_saved_pc (FRAME) : \ - (FRAME)->signal_handler_caller \ - ? sigtramp_saved_pc (FRAME) \ - : read_memory_integer ((FRAME)->frame + 4, 4)) + ? fbsd_kern_frame_saved_pc (FRAME) \ + : i386bsd_frame_saved_pc (FRAME)) /* Offset to saved PC in sigcontext, from <sys/signal.h>. */ #define SIGCONTEXT_PC_OFFSET 20
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200305182350.aa53905>