[fedora-arm] ARM coredumps are missing build-ids

Michal Toman mtoman at redhat.com
Fri May 11 13:33:39 UTC 2012


2012-05-08 23:03, Mark Wielaard wrote:
> On Mon, May 07, 2012 at 07:03:38PM -0400, Jon Masters wrote:
>> Excuse my ignorance with the build-id feature. I know that it is
>> generated by binutils (and driven by gcc's linker stage to include into
>> the resulting binaries) but I believe it is then stripped out as part of
>> the debuginfo generation.
>
> The build-id note (.note.gnu.build-id) is in both the original ELF file
> and in the .debug file. The note is also marked as SHF_ALLOC so that it
> appears in the executable image, and should be put in the core file when
> dumped.
>
> See http://fedoraproject.org/wiki/Releases/FeatureBuildId for an overview.
>
> A simple way to get the build-id(s) is through eu-unstrip (part of elfutils).
>
> build-id from an executable, shared library or separate debuginfo file:
> $ eu-unstrip -n -e<exec|.sharedlib|.debug>
>
> build-ids of an executable and all shared libraries from a core file:
> $ eu-unstrip -n --core<corefile>
>
> build-ids of an executable and all shared libraries of a running process:
> $ eu-unstrip -n --pid<pid>
>
> Cheers,
>
> Mark

I've been playing a little more and found out, that the build-ids are 
actually only missing in coredumps. Executables and running processes 
behave as expected. Tried both with and without ABRT's coredump hook, 
but this one has no impact on the result.

Here's the output of eu-unstrip for a simple binary (sleep). It does 
exactly the same for bigger ones.
http://mtoman.fedorapeople.org/arm/eu-unstrip-sleep.txt

Hope this helps.

Michal


More information about the arm mailing list