diff options
author | Mark Wielaard <mjw@redhat.com> | 2013-12-18 11:05:54 +0100 |
---|---|---|
committer | Mark Wielaard <mjw@redhat.com> | 2013-12-20 10:09:49 +0100 |
commit | 159ac52b061c60947a943c102298cd692223274f (patch) | |
tree | d3d3a07d249704f95424072064e160df4ae4c156 /tests/testfilebazdynppc64.bz2 | |
parent | 565149d564cfe9da3b5cd94c9387ee0473d0704a (diff) | |
download | elfutils-159ac52b061c60947a943c102298cd692223274f.tar.gz |
libdwfl: Introduce dwfl_module_getsym_info and dwfl_module_addrinfo.
Some arches like ppc64 use function descriptor values instead of function
addresses causing matching of names and addresses to fail when using
dwfl_module_getsym or dwfl_module_addrsym.
Add ebl hook to resolve any function descriptor values found in non-ET_REL
modules.
The new function dwfl_module_getsym_info doesn't adjust the symbol value
in any way, but returns the adjusted and/or resolved address associated
with the symbol separately. The new function dwfl_module_addrinfo resolves
against both the address associated with the symbol (which could be the
function entry address) value and the adjusted st_value. So that it is
easy to resolve and match either function descriptors and/or function
entry addresses.
Since these new functions also return more information they replace the
dwfl_module_getsym_elf and dwfl_module_addrsym_elf functions that never
made it into a released elfutils version.
addr2line and readelf now use the new functions when looking up functions
names. addr2line will now also display the section the address was found
in when given -x.
Extra testcases were added for both addr2line and the dwflsyms testscase.
Signed-off-by: Mark Wielaard <mjw@redhat.com>
Diffstat (limited to 'tests/testfilebazdynppc64.bz2')
-rwxr-xr-x | tests/testfilebazdynppc64.bz2 | bin | 0 -> 2327 bytes |
1 files changed, 0 insertions, 0 deletions
diff --git a/tests/testfilebazdynppc64.bz2 b/tests/testfilebazdynppc64.bz2 Binary files differnew file mode 100755 index 00000000..2e01699e --- /dev/null +++ b/tests/testfilebazdynppc64.bz2 |