On Mon, 17 Dec 2001 09:29:05 -0800,
Andrew Morton <akpm@zip.com.au> wrote:
>BURJAN Gabor wrote:
>> >>NIP; c0264050 <vortex_probe1+394/cbc> <=====
>> Trace; c0263f28 <vortex_probe1+26c/cbc>
>
>That's a big function, unfortunately. Could you please
>do the following?
>
>In the top-level makefile, add the line:
>
>CFLAGS += -g
>
>right at the end. Then rebuild the kernel, recreate the
>crash, then run:
>
>gdb vmlinux
>(gdb) l *0xc0264050
Not need to go quite that far. It is not necessary to recompile the
entire kernel nor do you need to boot a kernel to get the source code
for an instruction.
cd linux
rm drivers/net/3c59x.o
make CFLAGS_3c59x.o=-g vmlinux
s=$(sed -ne '/vortex_probe1/s/ .*//p' System.map | tr '[a-z]' '[A-Z]')
e=$(echo -e "obase=16\nibase=16\n$s+500" | bc)
objdump -S --start-address=0x$s --stop-address=0x$e vmlinux
That recompiles just 3c59x.o with -g and dumps the first 0x500 bytes of
vortex_probe1, including the source code.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sun Dec 23 2001 - 21:00:15 EST