binutils-gdb/ld/testsuite/ld-arm/cortex-a8-fix-blx.s

45 lines
672 B
ArmAsm

.syntax unified
.cpu cortex-a8
.text
@ expansion 32 bytes
.macro bw1
add.w r0, r1, r2
blx.w armfn
add.w r0, r1, r2
blx.w armfn
add.w r0, r1, r2
blx.w armfn
add.w r0, r1, r2
blx.w armfn
.endm
@ expansion 128 bytes
.macro bw2
bw1
bw1
bw1
bw1
.endm
.arm
.align 2
armfn:
mov r2, r3, asl r4
bx lr
.global _start
.thumb
.thumb_func
.align 3
.type _start, %function
_start:
nop
@ Trigger Cortex-A8 erratum workaround with blx instructions.
bw2
bw2
bx lr