On Sat, 17 Oct 1998, Guest section DW wrote:
> In fact, the program ksymoops found in linux/scripts is worthless junk.
[mud-slinging about ksymoops and C++ deleted]
Hmm. I think the deleted part contained the facts, while the only mud
was the part you failed to delete, namely the qualification `worthless junk'.
Perhaps you might have better luck with the "oops" program (discussed in
"Linux Device Drivers", by Alessandro Rubini(spl?)), available on the
O'Reilly FTP site. The URL is:
ftp://ftp.ora.com//pub/examples/linux/drivers/examples.tar.gz
Well, it is not me personally.
I have been too lazy to actually fix ksymoops.cc and each time I try
to use it I find another bug, but I have a C version derived from it
that more or less works and that I have to fix a bit more on each use.
(But I use it only a few times a year.)
The URL you mention has a C version that more or less works.
I try an actual Oops with ksymoops.cc but without symbol table:
# linux/scripts/ksymoops < oops
No symbol map. I'll only show you disassembled code.
#
Hmm. Not much output. Let us try this version by Alessandro.
# ksymoops < oops
EFLAGS: 00010202
eax: 0000003a
ebx: c036b140
ecx: c370a000
...
Code: 00000003:
#
No disassembled code either.
Now with symbol table
# linux/scripts/ksymoops some-System.map < oops
...
Code: c0122e03 <somewhere+9f/544> c7 05 00 00 00 movl $0x0,0x0
Code: c0122e08 <somewhere+a4/544> 00 00 00 00 00
Code: c0122e0d <somewhere+a9/544> 5b popl %ebx
Code: c0122e0e <somewhere+aa/544> 5e popl %esi
Code: c0122e0f <somewhere+ab/544> 5f popl %edi
Code: c0122e10 <somewhere+ac/544> 5d popl %ebp
Code: c0122e11 <somewhere+ad/544> 83 c4 0c addl $0xc,%esp
Code: c0122e14 <somewhere+b0/544> c3 ret
Code: c0122e15 <somewhere+b1/544> 8d 76 00 leal 0x0(%esi),%esi
Code: c0122e18 <somewhere+b4/544> 90 nop
Code: c0122e19 <somewhere+b5/544> 90 nop
Code: c0122e1a <somewhere+b6/544> 90 nop
#
This time ksymoops.cc produces something. But Alessandro's version says
# ksymoops < oops
Code: 40000420:
#
Still no disassembled code.
I think there is still the opportunity for someone to do useful work here.
I mean a solid job, that produces a tool that both compiles and works
without segfaulting when the Oops is incomplete or contains a typo.
Andries
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/