diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2022-01-05 07:12:03 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2022-01-12 06:04:51 -0800 |
commit | f2e37a5c7f8c8f761d2d86f2a69efe07503dc640 (patch) | |
tree | db77266086c3d28118e38e76830809fc4d668560 /ld/testsuite/ld-i386 | |
parent | 23cc1de50b006fa10e295bdb4455540f001515e9 (diff) | |
download | gdb-f2e37a5c7f8c8f761d2d86f2a69efe07503dc640.zip gdb-f2e37a5c7f8c8f761d2d86f2a69efe07503dc640.tar.gz gdb-f2e37a5c7f8c8f761d2d86f2a69efe07503dc640.tar.bz2 |
elf: Support DT_RELR in linker tests
Allow eabling and disabling DT_RELR in linker tests. Disable DT_RELR in
linker tests which don't expect DT_RELR in linker outputs.
binutils/
* testsuite/lib/binutils-common.exp (run_dump_test): Make
DT_RELR_LDFLAGS and NO_DT_RELR_LDFLAGS global.
ld/
* testsuite/config/default.exp (DT_RELR_LDFLAGS): New.
(DT_RELR_CC_LDFLAGS): Likewise.
(NO_DT_RELR_LDFLAGS): Likewise.
(NO_DT_RELR_CC_LDFLAGS): Likewise.
* testsuite/ld-elf/shared.exp: Pass $NO_DT_RELR_LDFLAGS to
linker for some tests.
* testsuite/ld-i386/export-class.exp: Likewise.
* testsuite/ld-i386/i386.exp: Likewise.
* testsuite/ld-i386/ibt-plt-2a.d: Pass $NO_DT_RELR_LDFLAGS to
linker.
* testsuite/ld-i386/ibt-plt-3a.d: Likewise.
* testsuite/ld-i386/ibt-plt-3c.d: Likewise.
* testsuite/ld-i386/pr26869.d: Likewise.
* testsuite/ld-i386/report-reloc-1.d: Likewise.
* testsuite/ld-ifunc/ifunc-2-i386-now.d: Likewise.
* testsuite/ld-ifunc/ifunc-2-local-i386-now.d: Likewise.
* testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d: Likewise.
* testsuite/ld-ifunc/ifunc-2-x86-64-now.d: Likewise.
* testsuite/ld-ifunc/pr17154-x86-64.d: Likewise.
* testsuite/ld-x86-64/bnd-branch-1-now.d: Likewise.
* testsuite/ld-x86-64/bnd-ifunc-1-now.d: Likewise.
* testsuite/ld-x86-64/bnd-ifunc-2-now.d: Likewise.
* testsuite/ld-x86-64/bnd-ifunc-2.d: Likewise.
* testsuite/ld-x86-64/bnd-plt-1-now.d: Likewise.
* testsuite/ld-x86-64/bnd-plt-1.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2a-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2a.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3a-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3a.d: Likewise.
* testsuite/ld-x86-64/ilp32-4.d: Likewise.
* testsuite/ld-x86-64/load1c.d: Likewise.
* testsuite/ld-x86-64/load1d.d: Likewise.
* testsuite/ld-x86-64/pr13082-2b.d: Likewise.
* testsuite/ld-x86-64/pr14207.d: Likewise.
* testsuite/ld-x86-64/pr18176.d: Likewise.
* testsuite/ld-x86-64/pr19162.d: Likewise.
* testsuite/ld-x86-64/pr19636-2d.d: Likewise.
* testsuite/ld-x86-64/pr19636-2l.d: Likewise.
* testsuite/ld-x86-64/pr20253-1d.d: Likewise.
* testsuite/ld-x86-64/pr20253-1f.d: Likewise.
* testsuite/ld-x86-64/pr20253-1j.d: Likewise.
* testsuite/ld-x86-64/pr20253-1l.d: Likewise.
* testsuite/ld-x86-64/report-reloc-1-x32.d: Likewise.
* testsuite/ld-x86-64/report-reloc-1.d: Likewise.
* testsuite/ld-x86-64/export-class.exp (x86_64_export_class_test):
Pass $NO_DT_RELR_LDFLAGS to linker.
* testsuite/ld-x86-64/x86-64.exp: Pass $NO_DT_RELR_LDFLAGS to
linker for some tests.
Diffstat (limited to 'ld/testsuite/ld-i386')
-rw-r--r-- | ld/testsuite/ld-i386/export-class.exp | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/i386.exp | 20 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/ibt-plt-2a.d | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/ibt-plt-3a.d | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/ibt-plt-3c.d | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/pr26869.d | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/report-reloc-1.d | 2 |
7 files changed, 20 insertions, 12 deletions
diff --git a/ld/testsuite/ld-i386/export-class.exp b/ld/testsuite/ld-i386/export-class.exp index 47b2c0f..04bc6a0 100644 --- a/ld/testsuite/ld-i386/export-class.exp +++ b/ld/testsuite/ld-i386/export-class.exp @@ -74,7 +74,7 @@ run_ld_link_tests [list \ run_ld_link_tests [list \ [list \ "$testname (final shared object)" \ - "-shared -Tdata=0x12340000 tmpdir/i386-export-class-ref-r.o tmpdir/i386-export-class-lib.so" "" \ + "-shared $NO_DT_RELR_LDFLAGS -Tdata=0x12340000 tmpdir/i386-export-class-ref-r.o tmpdir/i386-export-class-lib.so" "" \ "" \ { ../ld-elf/export-class-dep.s ../ld-elf/export-class-def.s } \ { \ diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp index 3ed6e42..c2d8d82 100644 --- a/ld/testsuite/ld-i386/i386.exp +++ b/ld/testsuite/ld-i386/i386.exp @@ -177,12 +177,6 @@ set i386tests { {{readelf -Ssrl tlsbindesc.rd} {objdump -drj.text tlsbindesc.dd} {objdump -sj.got tlsbindesc.sd} {objdump -sj.tdata tlsbindesc.td}} "tlsbindesc"} - {"TLS -fno-pic -shared" - "-shared -melf_i386 --no-ld-generated-unwind-info -z notext \ - -z noseparate-code --hash-style=sysv" "" - "--32" {tlsnopic1.s tlsnopic2.s} - {{readelf -Ssrl tlsnopic.rd} {objdump -drj.text tlsnopic.dd} - {objdump -sj.got tlsnopic.sd}} "libtlsnopic.so"} {"TLS with global dynamic and descriptors" "-shared -melf_i386 --no-ld-generated-unwind-info \ -z noseparate-code --hash-style=sysv" "" @@ -293,6 +287,20 @@ iamcu_tests run_ld_link_tests $i386tests +run_ld_link_tests [list \ + [list \ + "TLS -fno-pic -shared" \ + "-shared -melf_i386 --no-ld-generated-unwind-info -z notext \ + -z noseparate-code --hash-style=sysv $NO_DT_RELR_LDFLAGS" \ + "" "--32" \ + {tlsnopic1.s tlsnopic2.s} \ + {{readelf -Ssrl tlsnopic.rd} \ + {objdump -drj.text tlsnopic.dd} \ + {objdump -sj.got tlsnopic.sd}} \ + "libtlsnopic.so" \ + ] \ +] + run_dump_test "abs" run_dump_test "pcrel8" run_dump_test "pcrel16" diff --git a/ld/testsuite/ld-i386/ibt-plt-2a.d b/ld/testsuite/ld-i386/ibt-plt-2a.d index 42aa2ce..98b6fb9 100644 --- a/ld/testsuite/ld-i386/ibt-plt-2a.d +++ b/ld/testsuite/ld-i386/ibt-plt-2a.d @@ -1,6 +1,6 @@ #source: ibt-plt-2.s #as: --32 -#ld: -shared -m elf_i386 -z ibtplt --hash-style=sysv -z noseparate-code +#ld: -shared -m elf_i386 -z ibtplt --hash-style=sysv -z noseparate-code $NO_DT_RELR_LDFLAGS #objdump: -dw .*: +file format .* diff --git a/ld/testsuite/ld-i386/ibt-plt-3a.d b/ld/testsuite/ld-i386/ibt-plt-3a.d index b357a74..91f2023 100644 --- a/ld/testsuite/ld-i386/ibt-plt-3a.d +++ b/ld/testsuite/ld-i386/ibt-plt-3a.d @@ -1,6 +1,6 @@ #source: ibt-plt-3.s #as: --32 -#ld: -shared -m elf_i386 -z ibtplt --hash-style=sysv -z noseparate-code +#ld: -shared -m elf_i386 -z ibtplt --hash-style=sysv -z noseparate-code $NO_DT_RELR_LDFLAGS #objdump: -dw .*: +file format .* diff --git a/ld/testsuite/ld-i386/ibt-plt-3c.d b/ld/testsuite/ld-i386/ibt-plt-3c.d index b357a74..91f2023 100644 --- a/ld/testsuite/ld-i386/ibt-plt-3c.d +++ b/ld/testsuite/ld-i386/ibt-plt-3c.d @@ -1,6 +1,6 @@ #source: ibt-plt-3.s #as: --32 -#ld: -shared -m elf_i386 -z ibtplt --hash-style=sysv -z noseparate-code +#ld: -shared -m elf_i386 -z ibtplt --hash-style=sysv -z noseparate-code $NO_DT_RELR_LDFLAGS #objdump: -dw .*: +file format .* diff --git a/ld/testsuite/ld-i386/pr26869.d b/ld/testsuite/ld-i386/pr26869.d index bfd00a7..c8b1acc 100644 --- a/ld/testsuite/ld-i386/pr26869.d +++ b/ld/testsuite/ld-i386/pr26869.d @@ -1,5 +1,5 @@ #as: --32 -#ld: -shared -melf_i386 +#ld: -shared -melf_i386 $NO_DT_RELR_LDFLAGS #readelf: -r -s --wide Relocation section '.rel.dyn' at offset 0x[a-f0-9]+ contains 1 entry: diff --git a/ld/testsuite/ld-i386/report-reloc-1.d b/ld/testsuite/ld-i386/report-reloc-1.d index 51fbbd8..1621615 100644 --- a/ld/testsuite/ld-i386/report-reloc-1.d +++ b/ld/testsuite/ld-i386/report-reloc-1.d @@ -1,6 +1,6 @@ #source: report-reloc-1.s #as: --32 -#ld: -pie -melf_i386 -z report-relative-reloc +#ld: -pie -melf_i386 -z report-relative-reloc $NO_DT_RELR_LDFLAGS #warning_output: report-reloc-1.l #readelf: -r --wide |