{"callweak" "-static -T arm.ld" "" {callweak.s}
{{objdump -dr callweak.d}}
"callweak"}
+}
+
+run_ld_link_tests $armelftests
+run_dump_test "group-relocs-alu-bad"
+run_dump_test "group-relocs-ldr-bad"
+run_dump_test "group-relocs-ldrs-bad"
+run_dump_test "group-relocs-ldc-bad"
+run_dump_test "emit-relocs1"
+
+# Exclude non-ARM-EABI targets.
+
+if { ![istarget "arm*-*-*eabi"] } {
+ # Special variants of these tests, as no farcall stub is generated
+ # for a non-ARM-EABI target
+ run_dump_test "thumb2-bl-as-thumb1-bad-noeabi"
+ run_dump_test "thumb2-bl-bad-noeabi"
+ return
+}
+
+# Farcalls stubs are fully supported for ARM-EABI only
+set armeabitests {
+ {"EABI attribute merging" "-r" "" {attr-merge.s attr-merge.s}
+ {{readelf -A attr-merge.attr}}
+ "attr-merge"}
+ {"EABI attribute merging 2" "-r" "" {attr-merge-2a.s attr-merge-2b.s}
+ {{readelf -A attr-merge-2.attr}}
+ "attr-merge-2"}
+ {"Thumb-2 BL" "-Ttext 0x1000 --section-start .foo=0x1001000" "" {thumb2-bl.s}
+ {{objdump -dr thumb2-bl.d}}
+ "thumb2-bl"}
{"ARMv4 interworking" "-static -T arm.ld --fix-v4bx-interworking" "--fix-v4bx -meabi=4" {armv4-bx.s}
{{objdump -d armv4-bx.d}}
"farcall-group-size2"}
}
-run_ld_link_tests $armelftests
-run_dump_test "group-relocs-alu-bad"
-run_dump_test "group-relocs-ldr-bad"
-run_dump_test "group-relocs-ldrs-bad"
-run_dump_test "group-relocs-ldc-bad"
-run_dump_test "emit-relocs1"
+run_ld_link_tests $armeabitests
run_dump_test "farcall-thumb-thumb"
run_dump_test "farcall-thumb-thumb-pic-veneer"
run_dump_test "farcall-thumb-thumb-m-pic-veneer"
run_dump_test "farcall-thumb-arm-pic-veneer"
run_dump_test "farcall-section"
-
-# Exclude non-ARM-EABI targets.
-
-if { ![istarget "arm*-*-*eabi"] } {
- return
-}
-
-set armeabitests {
- {"EABI attribute merging" "-r" "" {attr-merge.s attr-merge.s}
- {{readelf -A attr-merge.attr}}
- "attr-merge"}
- {"EABI attribute merging 2" "-r" "" {attr-merge-2a.s attr-merge-2b.s}
- {{readelf -A attr-merge-2.attr}}
- "attr-merge-2"}
- {"Thumb-2 BL" "-Ttext 0x1000 --section-start .foo=0x1001000" "" {thumb2-bl.s}
- {{objdump -dr thumb2-bl.d}}
- "thumb2-bl"}
- {"Thumb-2 Interworked branch" "-T arm.ld" "" {thumb2-b-interwork.s}
- {{objdump -dr thumb2-b-interwork.d}}
- "thumb2-b-interwork"}
-}
-
-run_ld_link_tests $armeabitests