c2b4a39dd2
bfd/ * elf32-arm.c (elf32_arm_stub_long_branch_thumb_only): Fix stub code. (elf32_arm_stub_long_branch_v4t_thumb_arm): Likewise. (arm_type_of_stub): Use Thumb-only long branch stub (non-PIC) when BLX is not available. Fix typo in warning message. Add comments and improve formatting. (arm_build_one_stub): Adjust to new elf32_arm_stub_long_branch_v4t_thumb_arm stub. (arm_map_one_stub): Likewise. testsuite/ * ld-arm/arm-elf.exp: Rewrite non-EABI variants of thumb2-bl-as-thumb1-bad and thumb2-bl-bad tests, which now pass. farcall-thumb-thumb now passes in EABI mode. * ld-arm/farcall-thumb-arm-pic-veneer.d: Fixed name, source, as and ld flags to match intended test. * ld-arm/farcall-thumb-arm.d: New expected result. * ld-arm/farcall-thumb-thumb-m.d: Likewise. * ld-arm/farcall-thumb-thumb-m-pic-veneer.d: Fixed name and ld flags. * ld-arm/farcall-thumb-thumb-pic-veneer.d: Likewise. * ld-arm/farcall-thumb-thumb.d: New expected result, this test is now expected to pass. * ld-arm/thumb2-bl-as-thumb1-bad-noeabi.d: Likewise. * ld-arm/thumb2-bl-bad-noeabi.d: Likewise. * ld-arm/thumb2-bl-as-thumb1-bad.d: Update addresses according to new use. * ld-arm/thumb2-bl-as-thumb1-bad.s: Update comment.
22 lines
325 B
ArmAsm
22 lines
325 B
ArmAsm
@ Test to ensure that a Thumb-1 BL with a Thumb-2-only offset makes the linker generate a stub.
|
|
|
|
.arch armv5t
|
|
.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 0x100100c.
|
|
|
|
.section .foo, "xa"
|
|
.thumb_func
|
|
|
|
bar:
|
|
bx lr
|
|
|