This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [RFC] elfutils: Checks for debuginfo file without .debug extension as well
- From: Mark Wielaard <mjw at redhat dot com>
- To: Ravi Bangoria <ravi dot bangoria at linux dot vnet dot ibm dot com>
- Cc: elfutils-devel at lists dot fedorahosted dot org, systemtap at sourceware dot org, naveen dot n dot rao at linux dot vnet dot ibm dot com, hemant at linux dot vnet dot ibm dot com
- Date: Tue, 16 Feb 2016 17:45:06 +0100
- Subject: Re: [RFC] elfutils: Checks for debuginfo file without .debug extension as well
- Authentication-results: sourceware.org; auth=none
- References: <1455639695-8350-1-git-send-email-ravi dot bangoria at linux dot vnet dot ibm dot com>
Hi Ravi,
On Tue, 2016-02-16 at 21:51 +0530, Ravi Bangoria wrote:
> Elfutils, looking for kernel debuginfo file, tries to find it at
> various places. If elfutils finds /boot/vmlinu*x* file, it checks
> for debufginfo section. If debuginfo is not present, it saves it as
> 'main elf' and continue looking for debuginfo file having .debug
> extension i.e. vmlinux-RELEASE.debug.
>
> 'Ubuntu on powerpc' installs kernel as /boot/vmlinux and installs
> debuginfo without any extension as /usr/lib/debug/boot/vmlinux-RELEASE
> and hence, elfutils is not able to find the debuginfo file.
>
> Here is the lunchpad bug for the same:
> https://bugs.launchpad.net/ubuntu/+source/systemtap/+bug/1537125
>
> This patch adds functionality to search for file without any extension
> followed by searching file having .debug extension.
Thanks for the analysis. I do have a question though.
The reason we are looking for the vmlinux-3.13.0-76-generic.debug
filename instead of the plain vmlinux-3.13.0-76-generic filename seems
to be because /boot/vmlinux contains a .gnu_debuginfo link with the name
of the debug file. But that name doesn't match?
What does eu-readelf --strings=.gnu_debuglink /boot/vmlinux* say?
Would it make sense to not put in the "correct" (without .debug suffix)
debugfile name in .gnu_debuglink or completely leaving .gnu_debuginfo
out (or is nothing found then?)
Thanks,
Mark