mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:51:15 +08:00
63e1a0fcba
bfd/ * elf32-arm.c (elf32_arm_final_link_relocate): Only do bl conversion for known functions. (elf32_arm_swap_symbol_in): Only set ST_BRANCH_TO_ARM for function symbols. include/elf/ * arm.h (arm_st_branch_type): Add ST_BRANCH_UNKNOWN. ld/testsuite/ * ld-arm/cortex-a8-far.d: Adjust expected output. * ld-arm/arm-call1.s: Give function symbol correct type. * ld-arm/arm-call2.s: Ditto. * ld-arm/farcall-group4.s: Ditto. * ld-arm/arm-elf.exp (cortex-a8-far): Define far symbols with correct type via assembly file. * ld-arm/cortex-a8-far-3.s: New file. * ld-arm/abs-call-1.s: Add Thumb tests
32 lines
348 B
ArmAsm
32 lines
348 B
ArmAsm
# Test R_ARM_CALL and R_ARM_JUMP24 relocations and interworking
|
|
.text
|
|
.arch armv5t
|
|
.global _start
|
|
.type _start, %function
|
|
_start:
|
|
bl arm
|
|
bl t1
|
|
bl t2
|
|
bl t5
|
|
blx t1
|
|
blx t2
|
|
b t1
|
|
b t2
|
|
blne t1
|
|
blne t2
|
|
blne arm
|
|
blx arm
|
|
blx thumblocal
|
|
.thumb
|
|
thumblocal:
|
|
bx lr
|
|
.global t3
|
|
.thumb_func
|
|
t3:
|
|
bx lr
|
|
.global t4
|
|
.thumb_func
|
|
t4:
|
|
bx lr
|
|
nop
|