[PATCH] [makedumpfile] Follow debuginfo link of vmlinux file

Dave Anderson anderson at redhat.com
Thu May 24 14:31:06 EDT 2007

Jay Lan wrote:
> Ken'ichi Ohmichi wrote:
>>Hi Bernhard,
>>2007/05/01 15:39:12 +0200, Bernhard Walle <bwalle at suse.de> wrote:
>>>This patch implements support for following the debug information link in the
>>>.gnu_debuginfo section if the specified binary contains one. That makes it
>>>possible to call makedumpfile with -x /boot/vmlinux-<version> on distributions
>>>that ship extra -debuginfo packages for the kernel.
>>Isn't it good to specify the debuginfo file directly instead of your patch ?
>>I confirmed that makedumpfile without your patch can run by specifying the
>>debuginfo file directly.
>>makedumpfile needs only .debug_info section and doesn't need other sections,
>>so it needs only the debuginfo file. I will add the following comment to the
>>manual for "Debugging Information in Separate Files". Please let me know your
>>       -x VMLINUX
>>              Specify the first kernel’s VMLINUX  with  debug  information  to
>>              analyze the first kernel’s memory usage.
>>+             If there is a file containing debug information and separated from
>>+             VMLINUX, the file should be specified instead of VMLINUX.
> This behavior seems to be different from that of crash. If a vmlinux
> does not contain debug_info and a separate vmlinux-<version>.debug is
> present, the 'crash' would try to look up for the accompanying debug
> file.
> The way 'crash' looks up for the accompanying debug file seems
> ambiguous and not documented. The purpose of makedumpfile is to create
> an output file for 'crash' to consume. I hope 'crash' and 'makedumpfile'
> can use same semantics to specify the vmlinux and its accompanying
> debug file.

The crash utility hides the details of there being a separate debug
file in the same way the gdb does when working with a binary executable
that has a separate debuginfo file.  It tries *not* to be ambiguous,
i.e., the point is to stay true to the "crash vmlinux vmcore" model.

Not only that, crash needs stuff such as the kernel's static data,
which is located only in the stripped vmlinux file.  That's apparently
not the case with makedumpfile.

That being said, does any other distro besides RHEL3 actually use
the split vmlinux/vmlinux.debug format?  Thankfully Red Hat came
to its senses in RHEL4 and beyond...


> Thanks,
>  - jay
>>              The  page  size of the first kernel and the second kernel should
>>              match.
>>              Example:
>>              # makedumpfile -d 31 -x vmlinux /proc/vmcore dumpfile
>>Ken'ichi Ohmichi
>>kexec mailing list
>>kexec at lists.infradead.org

More information about the kexec mailing list