gcc generally embeds a build ID into shared objects to allow symbols — and the shared object itself — to be automatically retrieved. The scheme is documented here:
http://fedoraproject.org/wiki/Releases/FeatureBuildId
I have a user-mode core dump that I want to analyze and I know, based on the article above, that it very likely contains the build IDs for all of the shared objects that I care about (a couple of dozen in total). If I could extract the build IDs from the core dump then I could find the correct versions in our archives and be able to debug this core dump (and future core dumps).
The core dump comes from another machine which I do not have access to and I can’t trust the user on that machine to give me additional information about what modules are on that machine.
So… any idea what gdb commands or read-elf magic will find me these build IDs?
You can extract the build id with
eu-unstrip, which is part of elfutils: