llvm-project/lld/test/ELF/arm-ldrlit-err.s
LemonBoy f876383384 [AsmParser][ARM] Make .thumb_func imply .thumb
GNU as documentation states that a `.thumb_func` directive implies `.thumb`, teach the asm parser to switch mode whenever it's encountered. On the other hand the labeled form, exclusive to Apple's toolchain, doesn't switch mode at all.

Reviewed By: nickdesaulniers, peter.smith

Differential Revision: https://reviews.llvm.org/D101975
2021-05-07 12:13:36 +02:00

34 lines
753 B
ArmAsm

// REQUIRES: arm
// RUN: llvm-mc --triple=armv7a-none-eabi --arm-add-build-attributes -filetype=obj -o %t.o %s
// RUN: not ld.lld -n %t.o -o %t 2>&1 | FileCheck %s
.section .text.0, "ax", %progbits
.thumb_func
.balign 4
low:
bx lr
nop
nop
nop
nop
nop
.section .text.1, "ax", %progbits
.global _start
.arm
_start:
// CHECK: {{.*}}.s.tmp.o:(.text.1+0x0): relocation R_ARM_LDR_PC_G0 out of range: 4096 is not in [0, 4095]
/// ldr r0, low - 4076
.inst 0xe51f0ff4
.reloc 0, R_ARM_LDR_PC_G0, low
// CHECK: {{.*}}.s.tmp.o:(.text.1+0x4): relocation R_ARM_LDR_PC_G0 out of range: 4096 is not in [0, 4095]
/// ldr r0, high + 4100
.inst 0xe59f0ffc
.reloc 4, R_ARM_LDR_PC_G0, high
.section .text.2
.thumb_func
.balign 4
high:
bx lr
nop