diff options
author | Will Newton <will.newton@linaro.org> | 2014-07-07 17:33:34 +0100 |
---|---|---|
committer | Will Newton <will.newton@linaro.org> | 2014-07-10 09:32:56 +0100 |
commit | 6a2619f95336f522e6a5e9a7fcbfd6d4ce47014b (patch) | |
tree | 4c49eba1e863ff5ba01a88aae320e611d1120731 /ld/testsuite/ld-arm/arm-elf.exp | |
parent | 15635cff5fc339e9819b975232933a0fb133899d (diff) | |
download | binutils-6a2619f95336f522e6a5e9a7fcbfd6d4ce47014b.zip binutils-6a2619f95336f522e6a5e9a7fcbfd6d4ce47014b.tar.gz binutils-6a2619f95336f522e6a5e9a7fcbfd6d4ce47014b.tar.bz2 |
Fix tests when configured for arm-linux and arm-elf
With this change all gas and most ld tests pass when configured for
arm-linux. It doesn't look like these configurations have been
tested in a long time but this attempts to stem the bit-rot slightly.
gas/testsuite/ChangeLog:
2014-07-10 Will Newton <will.newton@linaro.org>
* gas/arm/bl-local-2.d: Only enable the test on EABI and
NaCl configurations.
* gas/arm/bl-local-v4t.d: Likewise.
* gas/arm/blx-local.d: Likewise.
* gas/arm/branch-reloc.d: Likewise.
ld/testsuite/ChangeLog:
2014-07-10 Will Newton <will.newton@linaro.org>
* ld-arm/arm-elf.exp (armelftests_nonacl): Move Cortex-A8 fix
tests, IFUNC tests and other EABI requiring tests to...
(armeabitests_nonacl): ...here.
* ld-arm/arm-app-abs32.d: Loosen regex for architecture type
to allow test to pass on configurations without an attributes
section.
* ld-arm/arm-app.d: Likewise.
* ld-arm/arm-lib-plt32.d: Likewise.
* ld-arm/arm-lib.d: Likewise.
* ld-arm/arm-static-app.d: Likewise.
* ld-arm/armthumb-lib.d: Likewise.
* ld-arm/cortex-a8-far.d: Likewise.
* ld-arm/farcall-mixed-app.d: Likewise.
* ld-arm/farcall-mixed-lib-v4t.d: Likewise.
* ld-arm/farcall-mixed-lib.d: Likewise.
* ld-arm/mixed-app-v5.d: Likewise.
* ld-arm/mixed-app.d: Likewise.
* ld-arm/mixed-lib.d: Likewise.
* ld-arm/tls-app.d: Likewise.
* ld-arm/tls-descrelax-be32.d: Likewise.
* ld-arm/tls-descrelax.d: Likewise.
* ld-arm/tls-descseq.d: Likewise.
* ld-arm/tls-gdesc-got.d: Likewise.
* ld-arm/tls-gdesc.d: Likewise.
* ld-arm/tls-gdierelax.d: Likewise.
* ld-arm/tls-gdierelax2.d: Likewise.
* ld-arm/tls-gdlerelax.d: Likewise.
* ld-arm/tls-lib-loc.d: Likewise.
* ld-arm/tls-lib.d: Likewise.
* ld-arm/tls-thumb1.d: Likewise.
Diffstat (limited to 'ld/testsuite/ld-arm/arm-elf.exp')
-rw-r--r-- | ld/testsuite/ld-arm/arm-elf.exp | 380 |
1 files changed, 190 insertions, 190 deletions
diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp index 2e7e164..0576847 100644 --- a/ld/testsuite/ld-arm/arm-elf.exp +++ b/ld/testsuite/ld-arm/arm-elf.exp @@ -168,9 +168,6 @@ set armelftests_common { {"callweak" "-static -T arm.ld" "" "" {callweak.s} {{objdump -dr callweak.d}} "callweak"} - {"callweak-2" "-static -T arm.ld" "" "" {callweak-2.s} - {{objdump -dr callweak-2.d}} - "callweak-2"} {"Relocation boundaries" "-defsym x=0 -defsym y=0 -defsym _start=0" "" "" {reloc-boundaries.s} {{objdump -s reloc-boundaries.d}} "reloc-boundaries"} @@ -188,9 +185,6 @@ set armelftests_common { "" {exec-got-1b.s} {{readelf --relocs exec-got-1.d}} "exec-got-1"} - {"abs call" "-T arm.ld" "" "" {abs-call-1.s} - {{objdump -d abs-call-1.d}} - "abs-call-1"} {"Simple non-PIC shared library (no PLT check)" "-shared" "" "" {arm-lib.s} {{objdump -Rw arm-lib.r}} "arm-lib.so"} @@ -230,9 +224,6 @@ set armelftests_nonacl { {"Thumb and -gc-sections" "-pie -T arm.ld -gc-sections tmpdir/gc-thumb-lib.so" "" "" {gc-thumb.s} {{readelf --relocs gc-thumb.d}} "gc-thumb"} - {"arm-pic-veneer" "-static -T arm.ld --pic-veneer" "" "" {arm-pic-veneer.s} - {{objdump -d arm-pic-veneer.d}} - "arm-pic-veneer"} {"Simple non-PIC shared library" "-shared" "" "" {arm-lib.s} {{objdump -fdw arm-lib.d} {objdump -Rw arm-lib.r}} @@ -276,193 +267,12 @@ set armelftests_nonacl { {"Using Thumb lib by another lib" "-shared tmpdir/mixed-lib.so" "" "" {use-thumb-lib.s} {{readelf -Ds use-thumb-lib.sym}} "use-thumb-lib.so"} - {"Preempt Thumb symbol" "tmpdir/mixed-lib.so -T arm-dyn.ld --use-blx" "" "" - {preempt-app.s} - {{readelf -Ds preempt-app.sym}} - "preempt-app"} {"TLS gnu shared library inlined trampoline" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" "" {tls-descseq.s} {{objdump -fdw tls-descseq.d} {objdump -Rw tls-descseq.r}} "tls-lib2inline.so"} {"TLS shared library gdesc local" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" "" {tls-lib-loc.s} {{objdump -fdw tls-lib-loc.d} {objdump -Rw tls-lib-loc.r}} "tls-lib-loc.so"} - {"Cortex-A8 erratum fix, b.w" - "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-b.s} - {{objdump -dr cortex-a8-fix-b.d}} - "cortex-a8-fix-b"} - {"Cortex-A8 erratum fix, bl.w" - "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-bl.s} - {{objdump -dr cortex-a8-fix-bl.d}} - "cortex-a8-fix-bl"} - {"Cortex-A8 erratum fix, bcc.w" - "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-bcc.s} - {{objdump -dr cortex-a8-fix-bcc.d}} - "cortex-a8-fix-bcc"} - {"Cortex-A8 erratum fix, blx.w" - "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-blx.s} - {{objdump -dr cortex-a8-fix-blx.d}} - "cortex-a8-fix-blx"} - {"Cortex-A8 erratum fix, relocate b.w to ARM" - "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-arm-target.s cortex-a8-fix-b-rel.s} - {{objdump -dr cortex-a8-fix-b-rel-arm.d}} - "cortex-a8-fix-b-rel-arm"} - {"Cortex-A8 erratum fix, relocate b.w to Thumb" - "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-b-rel.s} - {{objdump -dr cortex-a8-fix-b-rel-thumb.d}} - "cortex-a8-fix-b-rel-thumb"} - {"Cortex-A8 erratum fix, relocate bl.w to ARM" - "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-arm-target.s cortex-a8-fix-bl-rel.s} - {{objdump -dr cortex-a8-fix-bl-rel-arm.d}} - "cortex-a8-fix-bl-rel-arm"} - {"Cortex-A8 erratum fix, relocate bl.w to Thumb" - "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bl-rel.s} - {{objdump -dr cortex-a8-fix-bl-rel-thumb.d}} - "cortex-a8-fix-bl-rel-thumb"} - {"Cortex-A8 erratum fix, relocate b<cond>.w to Thumb" - "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bcc-rel.s} - {{objdump -dr cortex-a8-fix-bcc-rel-thumb.d}} - "cortex-a8-fix-bcc-rel-thumb"} - {"Cortex-A8 erratum fix, relocate blx.w to ARM" - "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-arm-target.s cortex-a8-fix-blx-rel.s} - {{objdump -dr cortex-a8-fix-blx-rel-arm.d}} - "cortex-a8-fix-blx-rel-arm"} - {"Cortex-A8 erratum fix, relocate blx.w to Thumb" - "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-blx-rel.s} - {{objdump -dr cortex-a8-fix-blx-rel-thumb.d}} - "cortex-a8-fix-blx-rel-thumb"} - {"Cortex-A8 erratum fix, relocate bl.w and far call" - "-EL -Ttext=0x00 --fix-cortex-a8 --defsym _start=0" "" - "-EL -mcpu=cortex-a8" {cortex-a8-far-1.s cortex-a8-far-2.s cortex-a8-far-3.s} - {{objdump -dr cortex-a8-far.d}} - "cortex-a8-far"} - {"Cortex-A8 erratum fix, headers" - "-EL --fix-cortex-a8 -T cortex-a8-fix-hdr.t" "" - "-EL -mcpu=cortex-a8" {cortex-a8-fix-hdr.s} - {{objdump -dr cortex-a8-fix-hdr.d}} - "cortex-a8-fix-hdr"} - {"Cortex-A8 erratum fix, blx.w and b<cond>.w together" - "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-blx-bcond.s} - {{objdump -dr cortex-a8-fix-blx-bcond.d}} - "cortex-a8-fix-blx-bcond"} - {"Cortex-A8 erratum fix, b.w to PLT" - "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "" "-EL" - {cortex-a8-fix-b-plt.s} - {{objdump -dr cortex-a8-fix-b-plt.d}} - "cortex-a8-fix-b-plt"} - {"Cortex-A8 erratum fix, bl.w to PLT" - "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "" "-EL" - {cortex-a8-fix-bl-plt.s} - {{objdump -dr cortex-a8-fix-bl-plt.d}} - "cortex-a8-fix-bl-plt"} - {"Cortex-A8 erratum fix, bcc.w to PLT" - "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "" "-EL" - {cortex-a8-fix-bcc-plt.s} - {{objdump -dr cortex-a8-fix-bcc-plt.d}} - "cortex-a8-fix-bcc-plt"} - {"Cortex-A8 erratum fix, blx.w to PLT" - "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "" "-EL" - {cortex-a8-fix-blx-plt.s} - {{objdump -dr cortex-a8-fix-blx-plt.d}} - "cortex-a8-fix-blx-plt"} - {"Cortex-A8 erratum fix, relocate bl.w to PLT" - "-EL --section-start=.plt=0x8e00 -Ttext=0x8f00 --fix-cortex-a8 -shared" "" - "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bl-rel.s} - {{objdump -dr cortex-a8-fix-bl-rel-plt.d}} - "cortex-a8-fix-bl-rel-thumb"} - {"IFUNC test 1" "-T ifunc-static.ld" "" "" {ifunc-1.s} - {{objdump -d ifunc-1.dd} - {objdump {-s -j.data -j.got} ifunc-1.gd} - {readelf -dr ifunc-1.rd}} - "ifunc-1"} - {"IFUNC test 2" "-T ifunc-static.ld" "" "" {ifunc-2.s} - {{objdump -d ifunc-2.dd} - {objdump {-s -j.data -j.got} ifunc-2.gd} - {readelf -dr ifunc-2.rd}} - "ifunc-2"} - {"IFUNC test 3" "-T ifunc-dynamic.ld -shared" "" "" {ifunc-3.s} - {{objdump -d ifunc-3.dd} - {objdump {-s -j.data -j.got} ifunc-3.gd} - {readelf -r ifunc-3.rd}} - "ifunc-3.so"} - {"IFUNC test 4" "-T ifunc-dynamic.ld -shared" "" "" {ifunc-4.s} - {{objdump -d ifunc-4.dd} - {objdump {-s -j.data -j.got} ifunc-4.gd} - {readelf -r ifunc-4.rd}} - "ifunc-4.so"} - {"IFUNC test 5" "-T ifunc-static.ld" "" "" {ifunc-5.s} - {{objdump -d ifunc-5.dd} - {objdump {-s -j.data -j.got} ifunc-5.gd} - {readelf -dr ifunc-5.rd}} - "ifunc-5"} - {"IFUNC test 6" "-T ifunc-static.ld" "" "" {ifunc-6.s} - {{objdump -d ifunc-6.dd} - {objdump {-s -j.data -j.got} ifunc-6.gd} - {readelf -dr ifunc-6.rd}} - "ifunc-6"} - {"IFUNC test 7" "-T ifunc-dynamic.ld tmpdir/ifunc-3.so -shared" "" - "" {ifunc-7.s} - {{objdump -d ifunc-7.dd} - {objdump {-s -j.data -j.got} ifunc-7.gd} - {readelf -r ifunc-7.rd}} - "ifunc-7.so"} - {"IFUNC test 8" "-T ifunc-dynamic.ld tmpdir/ifunc-4.so -shared" "" - "" {ifunc-8.s} - {{objdump -d ifunc-8.dd} - {objdump {-s -j.data -j.got} ifunc-8.gd} - {readelf -r ifunc-8.rd}} - "ifunc-8.so"} - {"IFUNC test 9" "-T ifunc-dynamic.ld tmpdir/ifunc-3.so" "" "" {ifunc-9.s} - {{objdump -d ifunc-9.dd} - {objdump {-s -j.data -j.got} ifunc-9.gd} - {readelf -r ifunc-9.rd}} - "ifunc-9"} - {"IFUNC test 10" "-T ifunc-dynamic.ld tmpdir/ifunc-4.so" "" "" {ifunc-10.s} - {{objdump -d ifunc-10.dd} - {objdump {-s -j.data -j.got} ifunc-10.gd} - {readelf -r ifunc-10.rd}} - "ifunc-10"} - {"IFUNC test 11" "-T ifunc-static.ld" "" "" {ifunc-11.s} - {{objdump -d ifunc-11.dd} - {objdump {-s -j.data -j.got} ifunc-11.gd} - {readelf -dr ifunc-11.rd}} - "ifunc-11"} - {"IFUNC test 12" "-T ifunc-dynamic.ld -shared" "" "" {ifunc-12.s} - {{objdump -d ifunc-12.dd} - {objdump {-s -j.data -j.got} ifunc-12.gd} - {readelf -r ifunc-12.rd}} - "ifunc-12.so"} - {"IFUNC test 13" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-13.s} - {{objdump -d ifunc-13.dd} - {objdump {-s -j.data -j.got} ifunc-13.gd} - {readelf -r ifunc-13.rd}} - "ifunc-13"} - {"IFUNC test 14" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-14.s} - {{objdump -d ifunc-14.dd} - {objdump {-s -j.data -j.got} ifunc-14.gd} - {readelf -r ifunc-14.rd}} - "ifunc-14"} - {"IFUNC test 15" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-15.s} - {{objdump -d ifunc-15.dd} - {objdump {-s -j.data -j.got} ifunc-15.gd} - {readelf -r ifunc-15.rd}} - "ifunc-15"} - {"IFUNC test 16" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-16.s} - {{objdump -d ifunc-16.dd} - {objdump {-s -j.data -j.got} ifunc-16.gd} - {readelf -r ifunc-16.rd}} - "ifunc-16"} - {"IFUNC test 17" "-T ifunc-static.ld" "" "" {ifunc-17.s} - {{objdump -d ifunc-17.dd} - {objdump {-s -j.data -j.got} ifunc-17.gd} - {readelf -r ifunc-17.rd}} - "ifunc-17"} - {"Long PLT entries in executables" "--long-plt -shared --section-start=.plt=0x1000 --section-start=.got=0xf0001100" "" - "" {long-plt-format.s} - {{objdump "-d -j .plt" long-plt-format.d}} - "long-plt-format"} - {"IFUNC and TLS descriptor shared library" "-shared -T arm-lib.ld --version-script=ifunc-gdesc.ver" "" "" {ifunc-gdesc.s} - {{objdump "-Rw" ifunc-gdesc.r}} - "ifunc-gdesc.so"} } run_ld_link_tests $armelftests_common @@ -573,6 +383,12 @@ set armeabitests_common { {"Long branch with mixed text and data" "-T arm.ld" "" "" {farcall-data.s} {{objdump -dr farcall-data.d farcall-data-nacl.d}} "farcall-data"} + {"callweak-2" "-static -T arm.ld" "" "" {callweak-2.s} + {{objdump -dr callweak-2.d}} + "callweak-2"} + {"abs call" "-T arm.ld" "" "" {abs-call-1.s} + {{objdump -d abs-call-1.d}} + "abs-call-1"} } set armeabitests_nonacl { @@ -756,6 +572,190 @@ set armeabitests_nonacl { {"TLS thumb1" "-shared -T arm-dyn.ld --section-start .foo=0x4001000" "" "" {tls-thumb1.s} {{objdump -fdw tls-thumb1.d}} "tls-thumb1"} + {"Cortex-A8 erratum fix, b.w" + "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-b.s} + {{objdump -dr cortex-a8-fix-b.d}} + "cortex-a8-fix-b"} + {"Cortex-A8 erratum fix, bl.w" + "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-bl.s} + {{objdump -dr cortex-a8-fix-bl.d}} + "cortex-a8-fix-bl"} + {"Cortex-A8 erratum fix, bcc.w" + "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-bcc.s} + {{objdump -dr cortex-a8-fix-bcc.d}} + "cortex-a8-fix-bcc"} + {"Cortex-A8 erratum fix, blx.w" + "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-blx.s} + {{objdump -dr cortex-a8-fix-blx.d}} + "cortex-a8-fix-blx"} + {"Cortex-A8 erratum fix, relocate b.w to ARM" + "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-arm-target.s cortex-a8-fix-b-rel.s} + {{objdump -dr cortex-a8-fix-b-rel-arm.d}} + "cortex-a8-fix-b-rel-arm"} + {"Cortex-A8 erratum fix, relocate b.w to Thumb" + "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-b-rel.s} + {{objdump -dr cortex-a8-fix-b-rel-thumb.d}} + "cortex-a8-fix-b-rel-thumb"} + {"Cortex-A8 erratum fix, relocate bl.w to ARM" + "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-arm-target.s cortex-a8-fix-bl-rel.s} + {{objdump -dr cortex-a8-fix-bl-rel-arm.d}} + "cortex-a8-fix-bl-rel-arm"} + {"Cortex-A8 erratum fix, relocate bl.w to Thumb" + "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bl-rel.s} + {{objdump -dr cortex-a8-fix-bl-rel-thumb.d}} + "cortex-a8-fix-bl-rel-thumb"} + {"Cortex-A8 erratum fix, relocate b<cond>.w to Thumb" + "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bcc-rel.s} + {{objdump -dr cortex-a8-fix-bcc-rel-thumb.d}} + "cortex-a8-fix-bcc-rel-thumb"} + {"Cortex-A8 erratum fix, relocate blx.w to ARM" + "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-arm-target.s cortex-a8-fix-blx-rel.s} + {{objdump -dr cortex-a8-fix-blx-rel-arm.d}} + "cortex-a8-fix-blx-rel-arm"} + {"Cortex-A8 erratum fix, relocate blx.w to Thumb" + "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-blx-rel.s} + {{objdump -dr cortex-a8-fix-blx-rel-thumb.d}} + "cortex-a8-fix-blx-rel-thumb"} + {"Cortex-A8 erratum fix, relocate bl.w and far call" + "-EL -Ttext=0x00 --fix-cortex-a8 --defsym _start=0" "" + "-EL -mcpu=cortex-a8" {cortex-a8-far-1.s cortex-a8-far-2.s cortex-a8-far-3.s} + {{objdump -dr cortex-a8-far.d}} + "cortex-a8-far"} + {"Cortex-A8 erratum fix, headers" + "-EL --fix-cortex-a8 -T cortex-a8-fix-hdr.t" "" + "-EL -mcpu=cortex-a8" {cortex-a8-fix-hdr.s} + {{objdump -dr cortex-a8-fix-hdr.d}} + "cortex-a8-fix-hdr"} + {"Cortex-A8 erratum fix, blx.w and b<cond>.w together" + "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-blx-bcond.s} + {{objdump -dr cortex-a8-fix-blx-bcond.d}} + "cortex-a8-fix-blx-bcond"} + {"Cortex-A8 erratum fix, b.w to PLT" + "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "" "-EL" + {cortex-a8-fix-b-plt.s} + {{objdump -dr cortex-a8-fix-b-plt.d}} + "cortex-a8-fix-b-plt"} + {"Cortex-A8 erratum fix, bl.w to PLT" + "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "" "-EL" + {cortex-a8-fix-bl-plt.s} + {{objdump -dr cortex-a8-fix-bl-plt.d}} + "cortex-a8-fix-bl-plt"} + {"Cortex-A8 erratum fix, bcc.w to PLT" + "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "" "-EL" + {cortex-a8-fix-bcc-plt.s} + {{objdump -dr cortex-a8-fix-bcc-plt.d}} + "cortex-a8-fix-bcc-plt"} + {"Cortex-A8 erratum fix, blx.w to PLT" + "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "" "-EL" + {cortex-a8-fix-blx-plt.s} + {{objdump -dr cortex-a8-fix-blx-plt.d}} + "cortex-a8-fix-blx-plt"} + {"Cortex-A8 erratum fix, relocate bl.w to PLT" + "-EL --section-start=.plt=0x8e00 -Ttext=0x8f00 --fix-cortex-a8 -shared" "" + "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bl-rel.s} + {{objdump -dr cortex-a8-fix-bl-rel-plt.d}} + "cortex-a8-fix-bl-rel-thumb"} + {"IFUNC test 1" "-T ifunc-static.ld" "" "" {ifunc-1.s} + {{objdump -d ifunc-1.dd} + {objdump {-s -j.data -j.got} ifunc-1.gd} + {readelf -dr ifunc-1.rd}} + "ifunc-1"} + {"IFUNC test 2" "-T ifunc-static.ld" "" "" {ifunc-2.s} + {{objdump -d ifunc-2.dd} + {objdump {-s -j.data -j.got} ifunc-2.gd} + {readelf -dr ifunc-2.rd}} + "ifunc-2"} + {"IFUNC test 3" "-T ifunc-dynamic.ld -shared" "" "" {ifunc-3.s} + {{objdump -d ifunc-3.dd} + {objdump {-s -j.data -j.got} ifunc-3.gd} + {readelf -r ifunc-3.rd}} + "ifunc-3.so"} + {"IFUNC test 4" "-T ifunc-dynamic.ld -shared" "" "" {ifunc-4.s} + {{objdump -d ifunc-4.dd} + {objdump {-s -j.data -j.got} ifunc-4.gd} + {readelf -r ifunc-4.rd}} + "ifunc-4.so"} + {"IFUNC test 5" "-T ifunc-static.ld" "" "" {ifunc-5.s} + {{objdump -d ifunc-5.dd} + {objdump {-s -j.data -j.got} ifunc-5.gd} + {readelf -dr ifunc-5.rd}} + "ifunc-5"} + {"IFUNC test 6" "-T ifunc-static.ld" "" "" {ifunc-6.s} + {{objdump -d ifunc-6.dd} + {objdump {-s -j.data -j.got} ifunc-6.gd} + {readelf -dr ifunc-6.rd}} + "ifunc-6"} + {"IFUNC test 7" "-T ifunc-dynamic.ld tmpdir/ifunc-3.so -shared" "" + "" {ifunc-7.s} + {{objdump -d ifunc-7.dd} + {objdump {-s -j.data -j.got} ifunc-7.gd} + {readelf -r ifunc-7.rd}} + "ifunc-7.so"} + {"IFUNC test 8" "-T ifunc-dynamic.ld tmpdir/ifunc-4.so -shared" "" + "" {ifunc-8.s} + {{objdump -d ifunc-8.dd} + {objdump {-s -j.data -j.got} ifunc-8.gd} + {readelf -r ifunc-8.rd}} + "ifunc-8.so"} + {"IFUNC test 9" "-T ifunc-dynamic.ld tmpdir/ifunc-3.so" "" "" {ifunc-9.s} + {{objdump -d ifunc-9.dd} + {objdump {-s -j.data -j.got} ifunc-9.gd} + {readelf -r ifunc-9.rd}} + "ifunc-9"} + {"IFUNC test 10" "-T ifunc-dynamic.ld tmpdir/ifunc-4.so" "" "" {ifunc-10.s} + {{objdump -d ifunc-10.dd} + {objdump {-s -j.data -j.got} ifunc-10.gd} + {readelf -r ifunc-10.rd}} + "ifunc-10"} + {"IFUNC test 11" "-T ifunc-static.ld" "" "" {ifunc-11.s} + {{objdump -d ifunc-11.dd} + {objdump {-s -j.data -j.got} ifunc-11.gd} + {readelf -dr ifunc-11.rd}} + "ifunc-11"} + {"IFUNC test 12" "-T ifunc-dynamic.ld -shared" "" "" {ifunc-12.s} + {{objdump -d ifunc-12.dd} + {objdump {-s -j.data -j.got} ifunc-12.gd} + {readelf -r ifunc-12.rd}} + "ifunc-12.so"} + {"IFUNC test 13" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-13.s} + {{objdump -d ifunc-13.dd} + {objdump {-s -j.data -j.got} ifunc-13.gd} + {readelf -r ifunc-13.rd}} + "ifunc-13"} + {"IFUNC test 14" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-14.s} + {{objdump -d ifunc-14.dd} + {objdump {-s -j.data -j.got} ifunc-14.gd} + {readelf -r ifunc-14.rd}} + "ifunc-14"} + {"IFUNC test 15" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-15.s} + {{objdump -d ifunc-15.dd} + {objdump {-s -j.data -j.got} ifunc-15.gd} + {readelf -r ifunc-15.rd}} + "ifunc-15"} + {"IFUNC test 16" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-16.s} + {{objdump -d ifunc-16.dd} + {objdump {-s -j.data -j.got} ifunc-16.gd} + {readelf -r ifunc-16.rd}} + "ifunc-16"} + {"IFUNC test 17" "-T ifunc-static.ld" "" "" {ifunc-17.s} + {{objdump -d ifunc-17.dd} + {objdump {-s -j.data -j.got} ifunc-17.gd} + {readelf -r ifunc-17.rd}} + "ifunc-17"} + {"Long PLT entries in executables" "--long-plt -shared --section-start=.plt=0x1000 --section-start=.got=0xf0001100" "" + "" {long-plt-format.s} + {{objdump "-d -j .plt" long-plt-format.d}} + "long-plt-format"} + {"IFUNC and TLS descriptor shared library" "-shared -T arm-lib.ld --version-script=ifunc-gdesc.ver" "" "" {ifunc-gdesc.s} + {{objdump "-Rw" ifunc-gdesc.r}} + "ifunc-gdesc.so"} + {"arm-pic-veneer" "-static -T arm.ld --pic-veneer" "" "" {arm-pic-veneer.s} + {{objdump -d arm-pic-veneer.d}} + "arm-pic-veneer"} + {"Preempt Thumb symbol" "tmpdir/mixed-lib.so -T arm-dyn.ld --use-blx" "" "" + {preempt-app.s} + {{readelf -Ds preempt-app.sym}} + "preempt-app"} } # Massage the $armeabitests_common list into run_ld_link_tests standard form. |