Hiro Sugawara wrote:
>
> I may be missing something. I thought System.map is a file that is
> created when the kernel is built; therefore if System.map is available
> and valid, so is vmlinux. In other words, I am using lcrash like:
> # lcrash /usr/src/linux/System.map /dev/mem /usr/src/linux/vmlinux
>
> I could not find the "KernTypes" file and finally found vmlinux worked
> as the third argument after some experiments.
>
> Am I wrong?
>
> hiro
If you don't have a Kerntypes file, you should build one. It is
basically a .o file that includes linux/sched.h, but is built with
-gstabs. It should be very easy to build (and if you have the
LKCD patches installed, it's already built for you).
Don't use 'vmlinux' as the Kerntypes (unless, of course, you're
building your entire kernel with -gstabs). Otherwise, you're going
to get some wierd results. :)
--Matt
>
> > -----Original Message-----
> > From: Tachino Nobuhiro [mailto:tachino@xxxxxxxxxxxxxxxxxxxxx]
> > Sent: Tuesday, July 17, 2001 19:27
> > To: Hiro Sugawara
> > Cc: lkcd@xxxxxxxxxxx; Les Smith; Raghaua Vatsavayi
> > Subject: Re: Module support
> >
> >
> >
> > Hi,
> >
> > At Tue, 17 Jul 2001 12:32:35 -0700,
> > Hiro Sugawara wrote:
> >
> > > BTW, I have always been thinking that the "System.map" argument is
> > > redundant. It could be replaced with a shell command line like:
> > >
> > > `nm vmlinux|awk --posix '{if ($1 ~ /c[[:xdigit:]]{7}$)
> > print}'|sort|uniq`
> > > (Some nm's seem to use 64 bit addresses. So, do not put an
> > assumption
> > > of an 8-digit address field)
> > >
> > > This way, lcrash would only need the module binary files (with debug
> > > information for the better, but not mandatory).
> > >
> >
> > You cannot use vmlinux if it is replaced by kernel update or
> > any other reason. System.map is OK because it is saved with a
> > crash dump by
> > vmdump.
> > I think module support requires the same function. You need the
> > symbol maps of modules which was actually loaded when a crash
> > occurred.
> >
|