cd6eab1c16
may_use_blx_. (Target_arm::may_use_blx): Remove method. (Target_arm::set_may_use_blx): Likewise. (Target_arm::may_use_v4t_interworking): New method. (Target_arm::may_use_v5t_interworking): Likewise. (Target_arm::may_use_blx_): Remove member variable. (Arm_relocate_functions::arm_branch_common): Check for v5T interworking. (Arm_relocate_functions::thumb_branch_common): Likewise. (Reloc_stub::stub_type_for_reloc): Likewise. (Target_arm::do_finalize_sections): Correct interworking checks. * testsuite/Makefile.am: Add new tests. * testsuite/Makefile.in: Regenerate. * testsuite/arm_farcall_arm_arm.s: New test. * testsuite/arm_farcall_arm_arm.sh: Likewise. * testsuite/arm_farcall_arm_thumb.s: Likewise. * testsuite/arm_farcall_arm_thumb.sh: Likewise. * testsuite/arm_farcall_thumb_arm.s: Likewise. * testsuite/arm_farcall_thumb_arm.sh: Likewise. * testsuite/arm_farcall_thumb_thumb.s: Likewise. * testsuite/arm_farcall_thumb_thumb.sh: Likewise.
20 lines
290 B
ArmAsm
20 lines
290 B
ArmAsm
@ Test to ensure that a Thumb to Thumb call exceeding 4Mb generates a stub.
|
|
|
|
.global _start
|
|
.syntax unified
|
|
|
|
@ We will place the section .text at 0x1000.
|
|
|
|
.text
|
|
.thumb_func
|
|
_start:
|
|
bl bar
|
|
|
|
@ We will place the section .foo at 0x02001014.
|
|
|
|
.section .foo, "xa"
|
|
.thumb_func
|
|
bar:
|
|
bx lr
|
|
|