summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-11-24Add build_id_find_nhdr_by_symbol()Matt Turner
2017-11-24Add "by_name" to function nameMatt Turner
In preparation for adding a "by_symbol" equivalent.
2017-11-24Simplify code structure to match upstream MesaMatt Turner
2017-11-24Rename "note" to "build_id_note" to avoid potential collisionsMatt Turner
2017-11-24Change API to match upstream MesaMatt Turner
2017-11-24Add .gitignoreMatt Turner
2017-02-14Remove unused headers.Matt Turner
2016-12-14Use dl_iterate_phdr() instead of a linker script.Matt Turner
According to Mike Frysinger [1] it is not reliable to read ELF sections at runtime, which the previous method involving the linker script was doing. Instead, use dl_iterate_phdr() to find the build id. [1] https://sourceware.org/ml/binutils/2016-12/msg00207.html
2016-12-08Make the linker script work.Matt Turner
Previously the build-id program (which was reading its own build-id worked) but the so-build-id program (was was reading the linked DSO's build id) did not. I speculated that the __note_gnu_build_id_start symbol was not being relocated properly since its address in the DSO was somewhat before the .text section, while the __note_gnu_build_id_end symbol was correct. I could even read the build-id which ended at the end symbol. I noticed that in the output of "ld --verbose" that there is only a ".interp" section immediately before .note.gnu.build-id, while in "ld --verbose -shared" there is nothing before .note.gnu.build-id. I think that probably points to the problem, but I am not sure exactly what it is.
2016-12-08Initial commitMatt Turner