diff options
author | Mark Wielaard <mjw@redhat.com> | 2014-11-10 14:49:20 +0100 |
---|---|---|
committer | Mark Wielaard <mjw@redhat.com> | 2014-11-13 15:46:31 +0100 |
commit | 5691f86722e9c24169622e64e8e8f5e6a24ad3b0 (patch) | |
tree | 587706de5d6bc30b261894d2df6970f99870c774 /tests/Makefile.am | |
parent | c50ddfca105a73f7567f3072831dcfbf49ad0567 (diff) | |
download | android_external_elfutils-5691f86722e9c24169622e64e8e8f5e6a24ad3b0.tar.gz android_external_elfutils-5691f86722e9c24169622e64e8e8f5e6a24ad3b0.tar.bz2 android_external_elfutils-5691f86722e9c24169622e64e8e8f5e6a24ad3b0.zip |
libdwfl: find_dynsym don't assume dynamic linker has adjusted DYNAMIC entries.
commit 037505 "Fix resolving ELF symbols for live PIDs with deleted files"
changed find_dynsym to assume the PT_DYNAMIC entries had been adjusted by
the dynamic linker. That is often a correct assumption when the ELF image
comes from remote memory. But we cannot rely on that. In the case of the
vdso image the DYNAMIC segment has not been adjusted for example.
There is no good way to determine whether the DYNAMIC segment has or
hasn't been adjusted already to the load address by the dynamic linker.
So we just try twice. Once without and if the fails again with assuming
adjustments being applied.
Includes a new vdsosyms testcase that fails on i686 before and succeeds
after the fix.
Signed-off-by: Mark Wielaard <mjw@redhat.com>
Diffstat (limited to 'tests/Makefile.am')
-rw-r--r-- | tests/Makefile.am | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 09909d28..dcaf4f65 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -50,7 +50,7 @@ check_PROGRAMS = arextract arsymtest newfile saridx scnnames sectiondump \ test-elf_cntl_gelf_getshdr dwflsyms dwfllines \ dwfl-report-elf-align varlocs backtrace backtrace-child \ backtrace-data backtrace-dwarf debuglink debugaltlink \ - buildid deleted deleted-lib.so aggregate_size + buildid deleted deleted-lib.so aggregate_size vdsosyms asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \ asm-tst6 asm-tst7 asm-tst8 asm-tst9 @@ -110,7 +110,7 @@ TESTS = run-arextract.sh run-arsymtest.sh newfile test-nlist \ run-backtrace-core-aarch64.sh \ run-backtrace-demangle.sh run-stack-d-test.sh run-stack-i-test.sh \ run-readelf-dwz-multi.sh run-allfcts-multi.sh run-deleted.sh \ - run-linkmap-cut.sh run-aggregate-size.sh + run-linkmap-cut.sh run-aggregate-size.sh vdsosyms if !BIARCH export ELFUTILS_DISABLE_BIARCH = 1 @@ -415,6 +415,7 @@ deleted_LDADD = ./deleted-lib.so deleted_lib_so_LDFLAGS = -shared -rdynamic deleted_lib_so_CFLAGS = -fPIC aggregate_size_LDADD = $(libdw) $(libelf) +vdsosyms_LDADD = $(libdw) $(libelf) if GCOV check: check-am coverage |