aarch64 and arm testsuite fixes for targets lacking shared libs
* testsuite/ld-aarch64/aarch64-elf.exp: Run tests requiring pie or shared library support only when check_shared_lib_support. * testsuite/ld-aarch64/bti-pac-plt-1.d: Likewise. * testsuite/ld-aarch64/bti-pac-plt-2.d: Likewise. * testsuite/ld-aarch64/bti-plt-1.d: Likewise. * testsuite/ld-aarch64/bti-plt-2.d: Likewise. * testsuite/ld-aarch64/bti-plt-3.d: Likewise. * testsuite/ld-aarch64/bti-plt-4.d: Likewise. * testsuite/ld-aarch64/bti-plt-6.d: Likewise. * testsuite/ld-aarch64/bti-plt-7.d: Likewise. * testsuite/ld-aarch64/bti-warn.d: Likewise. * testsuite/ld-aarch64/dt_textrel.d: Likewise. * testsuite/ld-aarch64/emit-relocs-258-dyn-bad.d: Likewise. * testsuite/ld-aarch64/emit-relocs-259-dyn-bad.d: Likewise. * testsuite/ld-aarch64/emit-relocs-264-bad.d: Likewise. * testsuite/ld-aarch64/emit-relocs-266-bad.d: Likewise. * testsuite/ld-aarch64/emit-relocs-268-bad.d: Likewise. * testsuite/ld-aarch64/emit-relocs-269-bad.d: Likewise. * testsuite/ld-aarch64/emit-relocs-515-be.d: Likewise. * testsuite/ld-aarch64/emit-relocs-515.d: Likewise. * testsuite/ld-aarch64/emit-relocs-516-be.d: Likewise. * testsuite/ld-aarch64/emit-relocs-516.d: Likewise. * testsuite/ld-aarch64/farcall-b-plt.d: Likewise. * testsuite/ld-aarch64/farcall-bl-plt.d: Likewise. * testsuite/ld-aarch64/gc-plt-relocs.d: Likewise. * testsuite/ld-aarch64/gc-relocs-257-dyn.d: Likewise. * testsuite/ld-aarch64/ifunc-1-local.d: Likewise. * testsuite/ld-aarch64/ifunc-1.d: Likewise. * testsuite/ld-aarch64/ifunc-12.d: Likewise. * testsuite/ld-aarch64/ifunc-13.d: Likewise. * testsuite/ld-aarch64/ifunc-14a.d: Likewise. * testsuite/ld-aarch64/ifunc-14b.d: Likewise. * testsuite/ld-aarch64/ifunc-14c.d: Likewise. * testsuite/ld-aarch64/ifunc-14d.d: Likewise. * testsuite/ld-aarch64/ifunc-14e.d: Likewise. * testsuite/ld-aarch64/ifunc-14f.d: Likewise. * testsuite/ld-aarch64/ifunc-15.d: Likewise. * testsuite/ld-aarch64/ifunc-16.d: Likewise. * testsuite/ld-aarch64/ifunc-18a.d: Likewise. * testsuite/ld-aarch64/ifunc-18b.d: Likewise. * testsuite/ld-aarch64/ifunc-19a.d: Likewise. * testsuite/ld-aarch64/ifunc-19b.d: Likewise. * testsuite/ld-aarch64/ifunc-2-local.d: Likewise. * testsuite/ld-aarch64/ifunc-2.d: Likewise. * testsuite/ld-aarch64/ifunc-20.d: Likewise. * testsuite/ld-aarch64/ifunc-21.d: Likewise. * testsuite/ld-aarch64/ifunc-3a.d: Likewise. * testsuite/ld-aarch64/ifunc-3b.d: Likewise. * testsuite/ld-aarch64/ifunc-5b-local.d: Likewise. * testsuite/ld-aarch64/ifunc-5b.d: Likewise. * testsuite/ld-aarch64/ifunc-6b.d: Likewise. * testsuite/ld-aarch64/ifunc-7b.d: Likewise. * testsuite/ld-aarch64/ifunc-7c.d: Likewise. * testsuite/ld-aarch64/pac-plt-1.d: Likewise. * testsuite/ld-aarch64/pac-plt-2.d: Likewise. * testsuite/ld-aarch64/pcrel_pic_defined.d: Likewise. * testsuite/ld-aarch64/pcrel_pic_undefined.d: Likewise. * testsuite/ld-aarch64/pie-bind-locally.d: Likewise. * testsuite/ld-aarch64/plt_mapping_symbol.d: Likewise. * testsuite/ld-aarch64/pr20402.d: Likewise. * testsuite/ld-aarch64/pr22764.d: Likewise. * testsuite/ld-aarch64/property-bti-pac1.d: Likewise. * testsuite/ld-aarch64/protected-data.d: Likewise. * testsuite/ld-aarch64/rela-abs-relative-be.d: Likewise. * testsuite/ld-aarch64/rela-abs-relative-opt.d: Likewise. * testsuite/ld-aarch64/rela-abs-relative.d: Likewise. * testsuite/ld-aarch64/relasz.d: Likewise. * testsuite/ld-aarch64/relocs-1027-symbolic-func.d: Likewise. * testsuite/ld-aarch64/tls-desc-ie-ilp32.d: Likewise. * testsuite/ld-aarch64/tls-desc-ie.d: Likewise. * testsuite/ld-aarch64/tls-large-desc-be.d: Likewise. * testsuite/ld-aarch64/tls-large-desc.d: Likewise. * testsuite/ld-aarch64/tls-large-ie-be.d: Likewise. * testsuite/ld-aarch64/tls-large-ie.d: Likewise. * testsuite/ld-aarch64/tls-relax-gdesc-le-now.d: Likewise. * testsuite/ld-aarch64/tls-small-ld.d: Likewise. * testsuite/ld-aarch64/tls-tiny-desc.d: Likewise. * testsuite/ld-aarch64/tls-tiny-gd.d: Likewise. * testsuite/ld-aarch64/tls-tiny-ie.d: Likewise. * testsuite/ld-aarch64/tls-tiny-ld.d: Likewise. * testsuite/ld-aarch64/tlsle-symbol-offset.d: Likewise. * testsuite/ld-aarch64/tlsle.d: Likewise. * testsuite/ld-aarch64/variant_pcs-now.d: Likewise. * testsuite/ld-aarch64/variant_pcs-shared.d: Likewise. * testsuite/ld-arm/arm-elf.exp: Likewise. Remove --hash-style=sysv from static tests. Consolidate armelftests_common_* vars into one. * testsuite/ld-arm/gc-hidden-1.d: Require check_shared_lib_support. * testsuite/ld-arm/movw-shared-1.d: Likewise. * testsuite/ld-arm/movw-shared-2.d: Likewise. * testsuite/ld-arm/movw-shared-3.d: Likewise. * testsuite/ld-arm/movw-shared-4.d: Likewise. * testsuite/ld-arm/pie-bind-locally.d: Likewise. * testsuite/ld-arm/protected-data.d: Likewise. * testsuite/ld-arm/rel32-reject-pie.d: Likewise. * testsuite/ld-arm/rel32-reject.d: Likewise. * testsuite/ld-arm/thumb2-bl-undefweak.d: Likewise. * testsuite/ld-arm/thumb2-bl-undefweak1.d: Likewise.
This commit is contained in:
parent
d70fc6126f
commit
3c3358ca1a
100
ld/ChangeLog
100
ld/ChangeLog
@ -1,3 +1,103 @@
|
||||
2019-11-07 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* testsuite/ld-aarch64/aarch64-elf.exp: Run tests requiring pie
|
||||
or shared library support only when check_shared_lib_support.
|
||||
* testsuite/ld-aarch64/bti-pac-plt-1.d: Likewise.
|
||||
* testsuite/ld-aarch64/bti-pac-plt-2.d: Likewise.
|
||||
* testsuite/ld-aarch64/bti-plt-1.d: Likewise.
|
||||
* testsuite/ld-aarch64/bti-plt-2.d: Likewise.
|
||||
* testsuite/ld-aarch64/bti-plt-3.d: Likewise.
|
||||
* testsuite/ld-aarch64/bti-plt-4.d: Likewise.
|
||||
* testsuite/ld-aarch64/bti-plt-6.d: Likewise.
|
||||
* testsuite/ld-aarch64/bti-plt-7.d: Likewise.
|
||||
* testsuite/ld-aarch64/bti-warn.d: Likewise.
|
||||
* testsuite/ld-aarch64/dt_textrel.d: Likewise.
|
||||
* testsuite/ld-aarch64/emit-relocs-258-dyn-bad.d: Likewise.
|
||||
* testsuite/ld-aarch64/emit-relocs-259-dyn-bad.d: Likewise.
|
||||
* testsuite/ld-aarch64/emit-relocs-264-bad.d: Likewise.
|
||||
* testsuite/ld-aarch64/emit-relocs-266-bad.d: Likewise.
|
||||
* testsuite/ld-aarch64/emit-relocs-268-bad.d: Likewise.
|
||||
* testsuite/ld-aarch64/emit-relocs-269-bad.d: Likewise.
|
||||
* testsuite/ld-aarch64/emit-relocs-515-be.d: Likewise.
|
||||
* testsuite/ld-aarch64/emit-relocs-515.d: Likewise.
|
||||
* testsuite/ld-aarch64/emit-relocs-516-be.d: Likewise.
|
||||
* testsuite/ld-aarch64/emit-relocs-516.d: Likewise.
|
||||
* testsuite/ld-aarch64/farcall-b-plt.d: Likewise.
|
||||
* testsuite/ld-aarch64/farcall-bl-plt.d: Likewise.
|
||||
* testsuite/ld-aarch64/gc-plt-relocs.d: Likewise.
|
||||
* testsuite/ld-aarch64/gc-relocs-257-dyn.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-1-local.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-1.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-12.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-13.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-14a.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-14b.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-14c.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-14d.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-14e.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-14f.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-15.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-16.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-18a.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-18b.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-19a.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-19b.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-2-local.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-2.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-20.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-21.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-3a.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-3b.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-5b-local.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-5b.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-6b.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-7b.d: Likewise.
|
||||
* testsuite/ld-aarch64/ifunc-7c.d: Likewise.
|
||||
* testsuite/ld-aarch64/pac-plt-1.d: Likewise.
|
||||
* testsuite/ld-aarch64/pac-plt-2.d: Likewise.
|
||||
* testsuite/ld-aarch64/pcrel_pic_defined.d: Likewise.
|
||||
* testsuite/ld-aarch64/pcrel_pic_undefined.d: Likewise.
|
||||
* testsuite/ld-aarch64/pie-bind-locally.d: Likewise.
|
||||
* testsuite/ld-aarch64/plt_mapping_symbol.d: Likewise.
|
||||
* testsuite/ld-aarch64/pr20402.d: Likewise.
|
||||
* testsuite/ld-aarch64/pr22764.d: Likewise.
|
||||
* testsuite/ld-aarch64/property-bti-pac1.d: Likewise.
|
||||
* testsuite/ld-aarch64/protected-data.d: Likewise.
|
||||
* testsuite/ld-aarch64/rela-abs-relative-be.d: Likewise.
|
||||
* testsuite/ld-aarch64/rela-abs-relative-opt.d: Likewise.
|
||||
* testsuite/ld-aarch64/rela-abs-relative.d: Likewise.
|
||||
* testsuite/ld-aarch64/relasz.d: Likewise.
|
||||
* testsuite/ld-aarch64/relocs-1027-symbolic-func.d: Likewise.
|
||||
* testsuite/ld-aarch64/tls-desc-ie-ilp32.d: Likewise.
|
||||
* testsuite/ld-aarch64/tls-desc-ie.d: Likewise.
|
||||
* testsuite/ld-aarch64/tls-large-desc-be.d: Likewise.
|
||||
* testsuite/ld-aarch64/tls-large-desc.d: Likewise.
|
||||
* testsuite/ld-aarch64/tls-large-ie-be.d: Likewise.
|
||||
* testsuite/ld-aarch64/tls-large-ie.d: Likewise.
|
||||
* testsuite/ld-aarch64/tls-relax-gdesc-le-now.d: Likewise.
|
||||
* testsuite/ld-aarch64/tls-small-ld.d: Likewise.
|
||||
* testsuite/ld-aarch64/tls-tiny-desc.d: Likewise.
|
||||
* testsuite/ld-aarch64/tls-tiny-gd.d: Likewise.
|
||||
* testsuite/ld-aarch64/tls-tiny-ie.d: Likewise.
|
||||
* testsuite/ld-aarch64/tls-tiny-ld.d: Likewise.
|
||||
* testsuite/ld-aarch64/tlsle-symbol-offset.d: Likewise.
|
||||
* testsuite/ld-aarch64/tlsle.d: Likewise.
|
||||
* testsuite/ld-aarch64/variant_pcs-now.d: Likewise.
|
||||
* testsuite/ld-aarch64/variant_pcs-shared.d: Likewise.
|
||||
* testsuite/ld-arm/arm-elf.exp: Likewise. Remove --hash-style=sysv
|
||||
from static tests. Consolidate armelftests_common_* vars into one.
|
||||
* testsuite/ld-arm/gc-hidden-1.d: Require check_shared_lib_support.
|
||||
* testsuite/ld-arm/movw-shared-1.d: Likewise.
|
||||
* testsuite/ld-arm/movw-shared-2.d: Likewise.
|
||||
* testsuite/ld-arm/movw-shared-3.d: Likewise.
|
||||
* testsuite/ld-arm/movw-shared-4.d: Likewise.
|
||||
* testsuite/ld-arm/pie-bind-locally.d: Likewise.
|
||||
* testsuite/ld-arm/protected-data.d: Likewise.
|
||||
* testsuite/ld-arm/rel32-reject-pie.d: Likewise.
|
||||
* testsuite/ld-arm/rel32-reject.d: Likewise.
|
||||
* testsuite/ld-arm/thumb2-bl-undefweak.d: Likewise.
|
||||
* testsuite/ld-arm/thumb2-bl-undefweak1.d: Likewise.
|
||||
|
||||
2019-11-06 Christian Eggers <ceggers@gmx.de>
|
||||
|
||||
* ldlang.c (print_input_section): Shift printed size by opb_shift.
|
||||
|
||||
@ -37,11 +37,14 @@ set aarch64elftests {
|
||||
"--fix-cortex-a53-835769" "" "" {erratum835769.s}
|
||||
{{objdump -dr erratum835769.d}}
|
||||
"erratum835769"}
|
||||
}
|
||||
set tmp {
|
||||
{"Erratum 835769 dump test -shared"
|
||||
"--fix-cortex-a53-835769 -shared" "" "" {erratum835769.s}
|
||||
{{objdump -dr erratum835769.d}}
|
||||
"erratum835769"}
|
||||
}
|
||||
if [check_shared_lib_support] { append aarch64elftests $tmp }
|
||||
|
||||
proc aarch64_choose_ilp32_emul {} {
|
||||
if [istarget *linux*] then {
|
||||
@ -410,7 +413,9 @@ set aarch64elflinktests {
|
||||
{} "libbti-plt-so.so"}
|
||||
}
|
||||
|
||||
run_ld_link_tests $aarch64elflinktests
|
||||
if [check_shared_lib_support] {
|
||||
run_ld_link_tests $aarch64elflinktests
|
||||
}
|
||||
|
||||
run_dump_test "bti-plt-3"
|
||||
run_dump_test "bti-plt-4"
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: bti-plt-1.s
|
||||
#target: [check_shared_lib_support]
|
||||
#as: -mabi=lp64
|
||||
#ld: -shared -z force-bti -z pac-plt -T bti-plt.ld
|
||||
#objdump: -dr -j .plt
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: bti-plt-1.s
|
||||
#target: [check_shared_lib_support]
|
||||
#as: -mabi=lp64
|
||||
#ld: -z force-bti -z pac-plt -e _start -T bti-plt.ld -L./tmpdir -lbti-plt-so
|
||||
#objdump: -dr -j .plt
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
#name: Check -z force-bti emits BTI PLT (shared)
|
||||
#source: bti-plt-1.s
|
||||
#target: [check_shared_lib_support]
|
||||
#as: -mabi=lp64
|
||||
#ld: -shared -z force-bti -T bti-plt.ld
|
||||
#objdump: -dr -j .plt
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
#name: Check -z force-bti emits BTI feature (shared)
|
||||
#source: bti-plt-1.s
|
||||
#source: bti-plt-2.s
|
||||
#target: [check_shared_lib_support]
|
||||
#as: -mabi=lp64
|
||||
#ld: -shared -z force-bti -T bti-plt.ld
|
||||
#readelf: -n
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
#name: Check -z force-bti emits BTI PLT (exec)
|
||||
#source: bti-plt-1.s
|
||||
#target: [check_shared_lib_support]
|
||||
#as: -mabi=lp64
|
||||
#ld: -z force-bti -e _start -T bti-plt.ld -L./tmpdir -lbti-plt-so
|
||||
#objdump: -dr -j .plt
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
#name: Check -z force-bti emits BTI feature (exec)
|
||||
#source: bti-plt-1.s
|
||||
#target: [check_shared_lib_support]
|
||||
#as: -mabi=lp64
|
||||
#ld: -z force-bti -e _start -T bti-plt.ld -L./tmpdir -lbti-plt-so
|
||||
#readelf: -n
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
#name: Warn with one missing GNU NOTE BTI input
|
||||
#source: property-bti-pac2.s
|
||||
#source: property-bti-pac1.s
|
||||
#target: [check_shared_lib_support]
|
||||
#as: -mabi=lp64 -defsym __property_pac__=1
|
||||
#ld: -shared -z force-bti
|
||||
#warning: .*property-bti-pac2.*: warning: BTI turned on by -z force-bti.*$
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
#name: Warn when neither inputs has GNU NOTE BTI
|
||||
#source: property-bti-pac2.s
|
||||
#source: plt_mapping_symbol.s
|
||||
#target: [check_shared_lib_support]
|
||||
#as: -mabi=lp64
|
||||
#ld: -shared -z force-bti
|
||||
#warning: .*plt_mapping_symbol.*: warning: BTI turned on by -z force-bti.*
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
#name: Warn when both have GNU prop but neither BTI
|
||||
#source: property-bti-pac2.s
|
||||
#source: bti-plt-1.s
|
||||
#target: [check_shared_lib_support]
|
||||
#as: -mabi=lp64 --defsym __guard_property_bti__=1 --defsym __property_pac__=1
|
||||
#ld: -shared -z force-bti
|
||||
#warning: .*property-bti-pac2.*: warning: BTI turned on by -z force-bti.*
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: dt_textrel.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared
|
||||
#readelf: -d
|
||||
#...
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#name: LP64 R_AARCH64_ABS32 shared library test
|
||||
#source: emit-relocs-258.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared
|
||||
#error: .*: relocation R_AARCH64_ABS32 against `dummy' can not be used when making a shared object
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#name: R_AARCH64_ABS16 shared library test
|
||||
#source: emit-relocs-259.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared
|
||||
#error: .*: relocation R_AARCH64_ABS16 against `dummy' can not be used when making a shared object
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
#source: emit-relocs-264.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -T relocs.ld --defsym tempy=0x11000 --defsym tempy2=0x45000 --defsym tempy3=0x1234 -e0 -shared
|
||||
#error: .*relocation R_AARCH64_MOVW_UABS_G0_NC.*can not.*shared object.*fPIC
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
#source: emit-relocs-266.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -T relocs.ld --defsym tempy=0x11000 --defsym tempy2=0x45000 --defsym tempy3=0x1234 -e0 -shared
|
||||
#error: .*relocation R_AARCH64_MOVW_UABS_G1_NC.*can not.*shared object.*fPIC
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
#source: emit-relocs-268.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -T relocs.ld --defsym tempy=0x11000 --defsym tempy2=0x45000 --defsym tempy3=0x1234 -e0 -shared
|
||||
#error: .*relocation R_AARCH64_MOVW_UABS_G2_NC.*can not.*shared object.*fPIC
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
#source: emit-relocs-269.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -T relocs.ld --defsym tempy=0x11000 --defsym tempy2=0x45000 --defsym tempy3=0x1234 -e0 -shared
|
||||
#error: .*relocation R_AARCH64_MOVW_UABS_G3.*can not.*shared object.*fPIC
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: emit-relocs-515.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -T relocs.ld -e0
|
||||
#notarget: aarch64-*-*
|
||||
#objdump: -dr
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: emit-relocs-515.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -T relocs.ld -e0
|
||||
#notarget: aarch64_be-*-*
|
||||
#objdump: -dr
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: emit-relocs-516.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -T relocs.ld -e0
|
||||
#notarget: aarch64-*-*
|
||||
#objdump: -dr
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: emit-relocs-516.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -T relocs.ld -e0
|
||||
#notarget: aarch64_be-*-*
|
||||
#objdump: -dr
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
#name: aarch64-farcall-b-plt
|
||||
#source: farcall-b-plt.s
|
||||
#target: [check_shared_lib_support]
|
||||
#as:
|
||||
#ld: -shared
|
||||
#objdump: -dr
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
#name: aarch64-farcall-bl-plt
|
||||
#source: farcall-bl-plt.s
|
||||
#target: [check_shared_lib_support]
|
||||
#as:
|
||||
#ld: -shared
|
||||
#objdump: -dr
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
#source: gc-plt-main.s
|
||||
#source: gc-plt-hidden.s
|
||||
#source: gc-plt2.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: --gc-sections -T aarch64.ld --shared --hash-style=sysv
|
||||
#objdump: -dT
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
#source: gc-start.s
|
||||
#source: gc-relocs-257.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: --defsym tempy=0x11012 --defsym tempy2=0x45034 --defsym tempy3=0x1234 -T aarch64.ld -shared --gc-sections
|
||||
#objdump: -R -d
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared --hash-style=sysv
|
||||
#objdump: -dw
|
||||
#target: aarch64*-*-*
|
||||
|
||||
#...
|
||||
0+(110|180|1a0) <(__GI_)?foo>:
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared --hash-style=sysv
|
||||
#objdump: -dw
|
||||
#target: aarch64*-*-*
|
||||
|
||||
#...
|
||||
0+(130|1a0|1c8) <foo>:
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -e bar --gc-sections
|
||||
#readelf: -r --wide
|
||||
#target: aarch64*-*-*
|
||||
|
||||
There are no relocations in this file.
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
#source: ifunc-13a.s
|
||||
#source: ifunc-13b.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -z nocombreloc
|
||||
#readelf: -r --wide
|
||||
#target: aarch64*-*-*
|
||||
|
||||
Relocation section '.rela.ifunc' at offset 0x[0-9a-f]+ contains 1 entry:
|
||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
#source: ifunc-14a.s
|
||||
#source: ifunc-14b.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -z nocombreloc
|
||||
#readelf: -d
|
||||
#target: aarch64*-*-*
|
||||
|
||||
#failif
|
||||
#...
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
#source: ifunc-14b.s
|
||||
#source: ifunc-14a.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -z nocombreloc
|
||||
#readelf: -d
|
||||
#target: aarch64*-*-*
|
||||
|
||||
#failif
|
||||
#...
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
#source: ifunc-14a.s
|
||||
#source: ifunc-14b.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -z nocombreloc
|
||||
#readelf: -r --wide
|
||||
#target: aarch64*-*-*
|
||||
|
||||
#failif
|
||||
#...
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
#source: ifunc-14b.s
|
||||
#source: ifunc-14a.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -z nocombreloc
|
||||
#readelf: -r --wide
|
||||
#target: aarch64*-*-*
|
||||
|
||||
#failif
|
||||
#...
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
#source: ifunc-14a.s
|
||||
#source: ifunc-14c.s
|
||||
#source: ifunc-14b.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -z nocombreloc
|
||||
#readelf: -r --wide
|
||||
#target: aarch64*-*-*
|
||||
|
||||
#failif
|
||||
#...
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
#source: ifunc-14a.s
|
||||
#source: ifunc-14b.s
|
||||
#source: ifunc-14c.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -z nocombreloc
|
||||
#readelf: -r --wide
|
||||
#target: aarch64*-*-*
|
||||
|
||||
#failif
|
||||
#...
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#source: ifunc-15.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -z nocombreloc
|
||||
#readelf: -r --wide
|
||||
#target: aarch64*-*-*
|
||||
|
||||
Relocation section '.rela.got' at offset 0x[0-9a-f]+ contains 1 entry:
|
||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#source: ifunc-16.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared
|
||||
#readelf: -r --wide
|
||||
#target: aarch64*-*-*
|
||||
|
||||
Relocation section '.rela.plt' at .*
|
||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
#source: ifunc-18a.s
|
||||
#source: ifunc-18b.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -z nocombreloc
|
||||
#readelf: -r --wide
|
||||
#target: aarch64*-*-*
|
||||
|
||||
Relocation section '.rela.ifunc' at .*
|
||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
#source: ifunc-18b.s
|
||||
#source: ifunc-18a.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -z nocombreloc
|
||||
#readelf: -r --wide
|
||||
#target: aarch64*-*-*
|
||||
|
||||
Relocation section '.rela.ifunc' at .*
|
||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
#source: ifunc-19a.s
|
||||
#source: ifunc-19b.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -z nocombreloc
|
||||
#readelf: -r --wide
|
||||
#target: aarch64*-*-*
|
||||
|
||||
Relocation section '.rela.ifunc' at .*
|
||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
#source: ifunc-19b.s
|
||||
#source: ifunc-19a.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -z nocombreloc
|
||||
#readelf: -r --wide
|
||||
#target: aarch64*-*-*
|
||||
|
||||
Relocation section '.rela.ifunc' at .*
|
||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared --hash-style=sysv
|
||||
#objdump: -dw
|
||||
#target: aarch64*-*-*
|
||||
|
||||
#...
|
||||
0+(110|180|1a0) <__GI_foo>:
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared --hash-style=sysv
|
||||
#objdump: -dw
|
||||
#target: aarch64*-*-*
|
||||
|
||||
#...
|
||||
0+(130|1a0|1c8) <foo>:
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#source: ifunc-20.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -z nocombreloc
|
||||
#readelf: -r --wide
|
||||
#target: aarch64*-*-*
|
||||
|
||||
Relocation section '.rela.ifunc' at offset 0x[0-9a-f]+ contains 1 entry:
|
||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#source: ifunc-21.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared --hash-style=sysv -z nocombreloc
|
||||
#objdump: -d -s -j .got.plt -j .text
|
||||
#target: aarch64*-*-*
|
||||
|
||||
# Ensure the .got.plt slot used is correct
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#source: ifunc-3.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared --hash-style=sysv
|
||||
#objdump: -dw
|
||||
#target: aarch64*-*-*
|
||||
|
||||
#...
|
||||
0+(150|1d0|1e8) <__GI_foo>:
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#source: ifunc-3.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared
|
||||
#readelf: -r --wide
|
||||
#target: aarch64*-*-*
|
||||
|
||||
#...
|
||||
[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_[_0-9A-Z]+_IRELATIVE[ ]*[0-9a-f]*
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#source: ifunc-5-local.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -z nocombreloc
|
||||
#readelf: -r --wide
|
||||
#target: aarch64*-*-*
|
||||
|
||||
Relocation section '.rela.plt' at .*
|
||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#source: ifunc-5.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -z nocombreloc
|
||||
#readelf: -r --wide
|
||||
#target: aarch64*-*-*
|
||||
|
||||
Relocation section '.rela.got' at .*
|
||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#source: ifunc-6.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -z nocombreloc
|
||||
#readelf: -r --wide
|
||||
#target: aarch64*-*-*
|
||||
|
||||
Relocation section '.rela.got' at .*
|
||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#source: ifunc-7.s
|
||||
#ld: -shared
|
||||
#target: [check_shared_lib_support]
|
||||
#readelf: -r --wide
|
||||
#target: aarch64*-*-*
|
||||
|
||||
Relocation section '.rela.plt' at .*
|
||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#source: ifunc-7.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared
|
||||
#objdump: -dr -j .text
|
||||
#target: aarch64*-*-*
|
||||
|
||||
# Check if adrp and ldr have been relocated correctly.
|
||||
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: bti-plt-1.s
|
||||
#target: [check_shared_lib_support]
|
||||
#as: -mabi=lp64 --defsym __guard_property_bti__=1
|
||||
#ld: -shared -z pac-plt -T bti-plt.ld
|
||||
#objdump: -dr -j .plt
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: tls-desc-ie.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -z pac-plt -T bti-plt.ld
|
||||
#objdump: -dr -j .plt
|
||||
#...
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
#name: PC-Rel relocation against defined
|
||||
#source: pcrel.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -e0 -defsym global_a=0x1000 -defsym global_b=0x2000
|
||||
#error: .*: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `global_a.*bind externally.*fPIC.*
|
||||
#error: .*: dangerous relocation: unsupported relocation
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
#name: PC-Rel relocation against undefined
|
||||
#source: pcrel.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -e0 -defsym global_b=0x2000
|
||||
#error: .*: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `global_a.*bind externally.*fPIC.*
|
||||
#error: .*: dangerous relocation: unsupported relocation
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
#source: pie-bind-locally-a.s
|
||||
#source: pie-bind-locally-b.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -pie
|
||||
#readelf: -Wr
|
||||
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
#name: AArch64 mapping symbol for plt section test.
|
||||
#source: plt_mapping_symbol.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -T relocs.ld -e0
|
||||
#objdump: --syms --special-syms
|
||||
#name: AArch64 mapping symbol for plt section test.
|
||||
#...
|
||||
|
||||
SYMBOL TABLE:
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -pie -defsym foo=0x1 -defsym bar=0x2
|
||||
#readelf: -r
|
||||
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: pr22764.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -T relocs.ld -defsym sym_abs1=0x1 -defsym sym_abs2=0x2 -defsym sym_abs3=0x3 -e0 --emit-relocs
|
||||
#notarget: aarch64_be-*-*
|
||||
#objdump: -dr
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
#name: GNU Property (single input, combine section)
|
||||
#source: property-bti-pac1.s
|
||||
#alltargets: [check_shared_lib_support] *linux*
|
||||
#as: -march=armv8.5-a -defsym __mult__=0
|
||||
#ld: -shared
|
||||
#readelf: -n
|
||||
#target: *linux*
|
||||
|
||||
Displaying notes found in: .note.gnu.property
|
||||
[ ]+Owner[ ]+Data size[ ]+Description
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared
|
||||
#readelf: -r -W
|
||||
#...
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#name: rela-abs-relative (big endian)
|
||||
#source: rela-abs-relative.s
|
||||
#alltargets: [check_shared_lib_support] aarch64_be-*-*
|
||||
#ld: -shared -Ttext-segment=0x100000 -Tdata=0x200000 -Trelocs.ld
|
||||
#target: aarch64_be-*-*
|
||||
#objdump: -dR -j .data
|
||||
#...
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
#name: rela-abs-relative --no-apply-dynamic-relocs
|
||||
#source: rela-abs-relative.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -Ttext-segment=0x100000 -Tdata=0x200000 -Trelocs.ld --no-apply-dynamic-relocs
|
||||
#notarget: aarch64_be-*-*
|
||||
#objdump: -dR -j .data
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
#name: rela-abs-relative
|
||||
#source: rela-abs-relative.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -Ttext-segment=0x100000 -Tdata=0x200000 -Trelocs.ld
|
||||
#notarget: aarch64_be-*-*
|
||||
#objdump: -dR -j .data
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: relasz.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared --hash-style=sysv -Taarch64.ld
|
||||
#readelf: -d
|
||||
# Check that the RELASZ section has the correct size even if we are
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: relocs-1027-symbolic-func.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -Bsymbolic-functions
|
||||
#readelf: -r --wide
|
||||
#...
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: tls-desc-ie.s
|
||||
#target: [check_shared_lib_support]
|
||||
#as: -mabi=ilp32
|
||||
#ld: -shared -m [aarch64_choose_ilp32_emul] -T relocs-ilp32.ld -e0
|
||||
#objdump: -dr
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: tls-desc-ie.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -T relocs.ld -e0
|
||||
#objdump: -dr
|
||||
#...
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: tls-large-desc.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -T relocs.ld -e0
|
||||
#notarget: aarch64-*-*
|
||||
#objdump: -dr
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: tls-large-desc.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -T relocs.ld -e0
|
||||
#notarget: aarch64_be-*-*
|
||||
#objdump: -dr
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: tls-large-ie.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -T relocs.ld -e0
|
||||
#notarget: aarch64-*-*
|
||||
#objdump: -dr
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: tls-large-ie.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -T relocs.ld -e0
|
||||
#notarget: aarch64_be-*-*
|
||||
#objdump: -dr
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: tls-relax-gdesc-le.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -z now
|
||||
#readelf: -dr
|
||||
#...
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: tls-small-ld.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -T relocs.ld -shared --hash-style=sysv
|
||||
#readelf: -Wr
|
||||
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: tls-tiny-desc.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -T relocs.ld -e0
|
||||
#objdump: -dr
|
||||
#...
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: tls-tiny-gd.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -T relocs.ld -e0
|
||||
#objdump: -dr
|
||||
#...
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: tls-tiny-ie.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -T relocs.ld -e0
|
||||
#objdump: -dr
|
||||
#...
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: tls-tiny-ld.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -T relocs.ld -shared --hash-style=sysv
|
||||
#readelf: -Wr
|
||||
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: tlsle-symbol-offset.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -T relocs.ld -e0
|
||||
#objdump: -dr
|
||||
#...
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#source: tlsle.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared -T relocs.ld -e0
|
||||
#objdump: -dr
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
#source: variant_pcs-1.s
|
||||
#source: variant_pcs-2.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared --hash-style=sysv -T variant_pcs.ld -z now
|
||||
#readelf: -rsW
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
#source: variant_pcs-1.s
|
||||
#source: variant_pcs-2.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared --hash-style=sysv -T variant_pcs.ld
|
||||
#readelf: -rsW
|
||||
|
||||
|
||||
@ -72,10 +72,12 @@ if { ![is_elf_format] || ![istarget "arm*-*-*"] } {
|
||||
# nm: Apply nm options on result. Compare with regex (last arg).
|
||||
# readelf: Apply readelf options on result. Compare with regex (last arg).
|
||||
|
||||
set armelftests_common_1 {
|
||||
set armelftests_common {
|
||||
{"Group relocations" "-Ttext 0x8000 -Tdata 0x3000000 --section-start alpha=0xeef0 --section-start beta=0xffeef0" "" "" {group-relocs.s}
|
||||
{{objdump -dr group-relocs.d}}
|
||||
"group-relocs"}
|
||||
}
|
||||
set tmp {
|
||||
{"Indirect cross-library function reference (set-up)"
|
||||
"-shared" "" "" {arm-lib-plt-2a.s}
|
||||
{}
|
||||
@ -84,6 +86,9 @@ set armelftests_common_1 {
|
||||
"-shared tmpdir/arm-lib-plt-2a.so" "" "" {arm-lib-plt-2b.s}
|
||||
{{objdump -dr arm-lib-plt-2.dd} {readelf --relocs arm-lib-plt-2.rd}}
|
||||
"arm-lib-plt-2b.so"}
|
||||
}
|
||||
if [check_shared_lib_support] { append armelftests_common $tmp }
|
||||
set tmp {
|
||||
{"Simple static application" "" "" "" {arm-static-app.s}
|
||||
{{objdump -fdw arm-static-app.d} {objdump -rw arm-static-app.r}}
|
||||
"arm-static-app"}
|
||||
@ -105,12 +110,21 @@ set armelftests_common_1 {
|
||||
{"arm-rel31" "-static -T arm.ld" "" "" {arm-rel31.s}
|
||||
{{objdump -s arm-rel31.d}}
|
||||
"arm-rel31"}
|
||||
}
|
||||
append armelftests_common $tmp
|
||||
set tmp {
|
||||
{"arm-rel32" "-shared -T arm-dyn.ld --hash-style=sysv" "" "" {arm-rel32.s}
|
||||
{{objdump -Rsj.data arm-rel32.d}}
|
||||
"arm-rel32"}
|
||||
}
|
||||
if [check_shared_lib_support] { append armelftests_common $tmp }
|
||||
set tmp {
|
||||
{"arm-call" "--no-fix-arm1176 -static -T arm.ld" "" "-meabi=4" {arm-call1.s arm-call2.s}
|
||||
{{objdump -d arm-call.d}}
|
||||
"arm-call"}
|
||||
}
|
||||
append armelftests_common $tmp
|
||||
set tmp {
|
||||
{"TLS shared library" "-shared -T arm-lib.ld --hash-style=sysv" ""
|
||||
"" {tls-lib.s}
|
||||
{{objdump -fdw tls-lib.d} {objdump -Rw tls-lib.r}}
|
||||
@ -123,38 +137,53 @@ set armelftests_common_1 {
|
||||
"-shared -T arm-dyn.ld --hash-style=sysv" "" "" {tls-gdesc-got.s}
|
||||
{{objdump "-fDR -j .got" tls-gdesc-got.d}}
|
||||
"tls-lib2-got.so"}
|
||||
}
|
||||
if [check_shared_lib_support] { append armelftests_common $tmp }
|
||||
set tmp {
|
||||
{"TLS gnu GD to IE relaxation"
|
||||
"-static -T arm-dyn.ld --hash-style=sysv" "" "" {tls-gdierelax.s}
|
||||
"-static -T arm-dyn.ld" "" "" {tls-gdierelax.s}
|
||||
{{objdump -fdw tls-gdierelax.d}}
|
||||
"tls-app-rel-ie"}
|
||||
}
|
||||
append armelftests_common $tmp
|
||||
set tmp {
|
||||
{"TLS gnu GD to IE shared relaxation"
|
||||
"--no-fix-arm1176 -shared -T arm-dyn.ld --hash-style=sysv" ""
|
||||
"" {tls-gdierelax2.s}
|
||||
{{objdump -fdw tls-gdierelax2.d}}
|
||||
"tls-app-rel-ie2"}
|
||||
{"TLS gnu GD to LE relaxation" "-T arm-dyn.ld --hash-style=sysv" ""
|
||||
}
|
||||
if [check_shared_lib_support] { append armelftests_common $tmp }
|
||||
set tmp {
|
||||
{"TLS gnu GD to LE relaxation" "-T arm-dyn.ld" ""
|
||||
"" {tls-gdlerelax.s}
|
||||
{{objdump -fdw tls-gdlerelax.d}}
|
||||
"tls-app-rel-le"}
|
||||
}
|
||||
append armelftests_common $tmp
|
||||
set tmp {
|
||||
{"TLS mixed models shared lib"
|
||||
"-shared -T arm-dyn.ld --hash-style=sysv" "" "" {tls-mixed.s}
|
||||
{{objdump -Rw tls-mixed.r}}
|
||||
"tls-mixed.so"}
|
||||
}
|
||||
if [check_shared_lib_support] { append armelftests_common $tmp }
|
||||
set tmp {
|
||||
{"TLS descseq relaxation"
|
||||
"-T arm-dyn.ld --hash-style=sysv" "" "" {tls-descrelax.s}
|
||||
"-T arm-dyn.ld" "" "" {tls-descrelax.s}
|
||||
{{objdump -fdw tls-descrelax.d}}
|
||||
"tls-descrelax"}
|
||||
{"TLS descseq relaxation v7"
|
||||
"-T arm-dyn.ld --hash-style=sysv" "" "" {tls-descrelax-v7.s}
|
||||
"-T arm-dyn.ld" "" "" {tls-descrelax-v7.s}
|
||||
{{objdump -fdw tls-descrelax-v7.d}}
|
||||
"tls-descrelax-v7"}
|
||||
{"TLS descseq relaxation BE8"
|
||||
"-T arm-dyn.ld --hash-style=sysv -EB --be8" ""
|
||||
"-T arm-dyn.ld -EB --be8" ""
|
||||
"-mbig-endian" {tls-descrelax-be8.s}
|
||||
{{objdump -fdw tls-descrelax-be8.d}}
|
||||
"tls-descrelax-be8"}
|
||||
{"TLS descseq relaxation BE32"
|
||||
"-T arm-dyn.ld --hash-style=sysv -EB" ""
|
||||
"-T arm-dyn.ld -EB" ""
|
||||
"-mbig-endian" {tls-descrelax-be32.s}
|
||||
{{objdump -fdw tls-descrelax-be32.d}}
|
||||
"tls-descrelax-be32"}
|
||||
@ -203,14 +232,16 @@ set armelftests_common_1 {
|
||||
{{objdump -sj.data gc-unwind.d}}
|
||||
"gc-unwind"}
|
||||
}
|
||||
append armelftests_common $tmp
|
||||
|
||||
set armelftests_common_2 {
|
||||
set tmp {
|
||||
{"script-type" "-static -T script-type.ld" "" "" {script-type.s}
|
||||
{{readelf -s script-type.sym}}
|
||||
"script-type"}
|
||||
}
|
||||
if ![istarget "arm*-*-netbsdelf"] { append armelftests_common $tmp }
|
||||
|
||||
set armelftests_common_3 {
|
||||
set tmp {
|
||||
{"callweak" "-static -T arm.ld" "" "" {callweak.s}
|
||||
{{objdump -dr callweak.d}}
|
||||
"callweak"}
|
||||
@ -220,6 +251,9 @@ set armelftests_common_3 {
|
||||
{"Data only mapping symbols" "-T data-only-map.ld -Map map" "" "" {data-only-map.s}
|
||||
{{objdump -dr data-only-map.d}}
|
||||
"data-only-map"}
|
||||
}
|
||||
append armelftests_common $tmp
|
||||
set tmp {
|
||||
{"Data only mapping symbols for merged sections" "-T rodata-merge-map.ld" "" "" {rodata-merge-map1.s rodata-merge-map2.s rodata-merge-map3.s}
|
||||
{{readelf -s rodata-merge-map.sym}}
|
||||
"rodata-merge-map"}
|
||||
@ -234,25 +268,40 @@ set armelftests_common_3 {
|
||||
{"Simple non-PIC shared library (no PLT check)" "-shared" "" "" {arm-lib.s}
|
||||
{{objdump -Rw arm-lib.r}}
|
||||
"arm-lib.so"}
|
||||
}
|
||||
if [check_shared_lib_support] { append armelftests_common $tmp }
|
||||
set tmp {
|
||||
{"EABI soft-float ET_EXEC ABI flag" "-T arm.ld" "" "-mfloat-abi=soft -meabi=5" {eabi-soft-float.s}
|
||||
{{readelf -h eabi-soft-float.d}}
|
||||
"eabi-soft-float"}
|
||||
{"EABI hard-float ET_EXEC ABI flag" "-T arm.ld" "" "-mfloat-abi=hard -meabi=5" {eabi-hard-float.s}
|
||||
{{readelf -h eabi-hard-float.d}}
|
||||
"eabi-hard-float"}
|
||||
}
|
||||
append armelftests_common $tmp
|
||||
set tmp {
|
||||
{"EABI hard-float ET_DYN ABI flag" "-shared" "" "-mfloat-abi=hard -meabi=5" {eabi-hard-float.s}
|
||||
{{readelf -h eabi-hard-float.d}}
|
||||
"eabi-hard-float.so"}
|
||||
}
|
||||
if [check_shared_lib_support] { append armelftests_common $tmp }
|
||||
set tmp {
|
||||
{"EABI ABI flags wrong ABI version" "-T arm.ld" "" "-mfloat-abi=soft -meabi=4" {eabi-soft-float.s}
|
||||
{{readelf -h eabi-soft-float-ABI4.d}}
|
||||
"eabi-soft-float-no-flags"}
|
||||
{"EABI ABI flags ld -r" "-r" "" "-mfloat-abi=soft -meabi=5" {eabi-soft-float.s}
|
||||
{{readelf -h eabi-soft-float-r.d}}
|
||||
"eabi-soft-float-r.o"}
|
||||
}
|
||||
append armelftests_common $tmp
|
||||
set tmp {
|
||||
{"PC-relative in -shared" "-shared --hash-style=sysv" ""
|
||||
"" {pcrel-shared.s}
|
||||
{{readelf -dr pcrel-shared.rd}}
|
||||
"pcrel-shared.so"}
|
||||
}
|
||||
if [check_shared_lib_support] { append armelftests_common $tmp }
|
||||
set tmp {
|
||||
{"MOVS thumb1 relocations" "-static -T arm.ld" "" "" {thumb1-movs.s}
|
||||
{{objdump -dw thumb1-movs.d}}
|
||||
"thumb1-movs"}
|
||||
@ -270,13 +319,9 @@ set armelftests_common_3 {
|
||||
{{objdump -dw branch-futures.d}}
|
||||
"branch-futures"}
|
||||
}
|
||||
append armelftests_common $tmp
|
||||
|
||||
run_ld_link_tests $armelftests_common_1
|
||||
if { ![istarget "arm*-*-netbsdelf"] } {
|
||||
run_ld_link_tests $armelftests_common_2
|
||||
}
|
||||
run_ld_link_tests $armelftests_common_3
|
||||
|
||||
run_ld_link_tests $armelftests_common
|
||||
|
||||
set armelftests_nonacl {
|
||||
{"Thumb-1 BL" "-Ttext 0x1000 --section-start .foo=0x401000" "" "" {thumb1-bl.s}
|
||||
@ -291,6 +336,8 @@ set armelftests_nonacl {
|
||||
{"jump19" "-static -T arm.ld" "" "" {jump19.s}
|
||||
{{objdump -dr jump19.d}}
|
||||
"jump19"}
|
||||
}
|
||||
set tmp {
|
||||
{"Thumb and -gc-sections"
|
||||
"-shared -T arm-dyn.ld --hash-style=sysv" "" "" {gc-thumb-lib.s}
|
||||
{}
|
||||
@ -298,7 +345,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"}
|
||||
|
||||
{"Simple non-PIC shared library" "-shared" "" "" {arm-lib.s}
|
||||
{{objdump -fdw arm-lib.d} {objdump -Rw arm-lib.r}}
|
||||
"arm-lib.so"}
|
||||
@ -308,10 +354,16 @@ set armelftests_nonacl {
|
||||
{"Simple dynamic application" "tmpdir/arm-lib.so" "" "" {arm-app.s}
|
||||
{{objdump -fdw arm-app.d} {objdump -Rw arm-app.r}}
|
||||
"arm-app"}
|
||||
}
|
||||
if [check_shared_lib_support] { append armelftests_nonacl $tmp }
|
||||
set tmp {
|
||||
{"Simple static application without .rel.plt in linker script"
|
||||
"-T arm-no-rel-plt.ld" "" "" {arm-static-app.s}
|
||||
{{objdump -fdw arm-static-app.d} {objdump -rw arm-static-app.r}}
|
||||
"arm-static-app-no-rel-plt"}
|
||||
}
|
||||
append armelftests_nonacl $tmp
|
||||
set tmp {
|
||||
{"Simple dynamic application without .rel.plt in linker script"
|
||||
"tmpdir/arm-lib.so -T arm-no-rel-plt.ld" "" "" {arm-app.s}
|
||||
{{readelf -dr arm-no-rel-plt.r}}
|
||||
@ -358,6 +410,7 @@ set armelftests_nonacl {
|
||||
{{objdump -fdw tls-lib-loc.d} {objdump -Rw tls-lib-loc.r}}
|
||||
"tls-lib-loc.so"}
|
||||
}
|
||||
if [check_shared_lib_support] { append armelftests_nonacl $tmp }
|
||||
|
||||
if { ![istarget "arm*-*-nacl*"] } {
|
||||
run_ld_link_tests $armelftests_nonacl
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
#source: main.s
|
||||
#source: gcdfn.s
|
||||
#source: hidfn.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: --gc-sections --shared --version-script hideall.ld
|
||||
#objdump: -dRT
|
||||
# This test is only valid on ELF based ports.
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#name: MOVW/MOVT shared libraries test 1
|
||||
#source: movw-shared-1.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared
|
||||
#error: .*: relocation R_ARM_MOVW_ABS_NC against `a' can not be used when making a shared object; recompile with -fPIC
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#name: MOVW/MOVT shared libraries test 2
|
||||
#source: movw-shared-2.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared
|
||||
#error: .*: relocation R_ARM_MOVT_ABS against `b' can not be used when making a shared object; recompile with -fPIC
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#name: MOVW/MOVT shared libraries test 3
|
||||
#source: movw-shared-3.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared
|
||||
#error: .*: relocation R_ARM_THM_MOVW_ABS_NC against `c' can not be used when making a shared object; recompile with -fPIC
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#name: MOVW/MOVT shared libraries test 4
|
||||
#source: movw-shared-4.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared
|
||||
#error: .*: relocation R_ARM_THM_MOVT_ABS against `d' can not be used when making a shared object; recompile with -fPIC
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
#source: pie-bind-locally-a.s
|
||||
#source: pie-bind-locally-b.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -pie
|
||||
#readelf: -Wr
|
||||
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared
|
||||
#readelf: -r -W
|
||||
#...
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
#source: rel32-reject-pie.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -pie
|
||||
#error: .*relocation R_ARM_REL32.*can not.*PIE executable.*
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
#source: rel32-reject.s
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared
|
||||
#error: .*relocation R_ARM_REL32.*can not.*shared object.*
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
#source: thumb2-bl-undefweak.s
|
||||
#as:
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared
|
||||
#objdump: -dr
|
||||
#...
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
#source: thumb2-bl-undefweak1.s
|
||||
#as:
|
||||
#target: [check_shared_lib_support]
|
||||
#ld: -shared
|
||||
#objdump: -dr
|
||||
#...
|
||||
|
||||
Loading…
Reference in New Issue
Block a user