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
_______________________________________________
arm mailing list
arm@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/arm