Age | Commit message (Collapse) | Author |
|
|
|
In preparation for adding a "by_symbol" equivalent.
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
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.
|
|
|