1 # RUN: llvm-mc -triple=armv7-linux-gnueabi %s | FileCheck %s --check-prefix=ASM
2 # RUN: llvm-mc -filetype=obj -triple=armv7-linux-gnueabi --fdpic %s | llvm-readelf -h -r - | FileCheck %s
4 # RUN: not llvm-mc -filetype=obj -triple=armv7-linux-gnueabi %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=ERR
6 # ASM: .long f(FUNCDESC)
7 # ASM-NEXT: .long f(GOTFUNCDESC)
8 # ASM-NEXT: .long f(GOTOFFFUNCDESC)
10 # CHECK: OS/ABI: ARM FDPIC
12 # CHECK: Flags: 0x5000000
14 # CHECK: R_ARM_FUNCDESC 00000000 f
15 # CHECK-NEXT: R_ARM_GOTFUNCDESC 00000000 f
16 # CHECK-NEXT: R_ARM_GOTOFFFUNCDESC 00000000 f
17 # CHECK-NEXT: R_ARM_TLS_GD32_FDPIC 00000000 tls
18 # CHECK-NEXT: R_ARM_TLS_LDM32_FDPIC 00000000 tls
19 # CHECK-NEXT: R_ARM_TLS_IE32_FDPIC 00000000 tls
22 # ERR: [[#@LINE+1]]:7: error: relocation R_ARM_FUNCDESC only supported in FDPIC mode
24 # ERR: [[#@LINE+1]]:7: error: relocation R_ARM_GOTFUNCDESC only supported in FDPIC mode
26 # ERR: [[#@LINE+1]]:7: error: relocation R_ARM_GOTOFFFUNCDESC only supported in FDPIC mode
27 .long f(GOTOFFFUNCDESC)
28 # ERR: [[#@LINE+1]]:7: error: relocation R_ARM_TLS_GD32_FDPIC only supported in FDPIC mode
29 .long tls(tlsgd_fdpic)
30 # ERR: [[#@LINE+1]]:7: error: relocation R_ARM_TLS_LDM32_FDPIC only supported in FDPIC mode
31 .long tls(tlsldm_fdpic)
32 # ERR: [[#@LINE+1]]:7: error: relocation R_ARM_TLS_IE32_FDPIC only supported in FDPIC mode
33 .long tls(gottpoff_fdpic)