summaryrefslogtreecommitdiffstats
path: root/tests/Makefile.am
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2014-11-10 14:49:20 +0100
committerMark Wielaard <mjw@redhat.com>2014-11-13 15:46:31 +0100
commit5691f86722e9c24169622e64e8e8f5e6a24ad3b0 (patch)
tree587706de5d6bc30b261894d2df6970f99870c774 /tests/Makefile.am
parentc50ddfca105a73f7567f3072831dcfbf49ad0567 (diff)
downloadandroid_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.am5
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