blob: eb3cc614b6c31287b1fb8d20ec9ad1a5d9049c6a [file] [log] [blame] [edit]
# RUN: llvm-mc -triple=armv7-linux-gnueabi %s | FileCheck %s --check-prefix=ASM
# RUN: llvm-mc -filetype=obj -triple=armv7-linux-gnueabi --fdpic %s | llvm-readelf -h -r -s - | FileCheck %s --implicit-check-not=TLS
# RUN: not llvm-mc -filetype=obj -triple=armv7-linux-gnueabi %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=ERR
# ASM: .long f(FUNCDESC)
# ASM-NEXT: .long f(GOTFUNCDESC)
# ASM-NEXT: .long f(GOTOFFFUNCDESC)
# CHECK: OS/ABI: ARM FDPIC
# CHECK: Machine: ARM
# CHECK: Flags: 0x5000000
# CHECK: R_ARM_FUNCDESC 00000000 f
# CHECK-NEXT: R_ARM_GOTFUNCDESC 00000000 f
# CHECK-NEXT: R_ARM_GOTOFFFUNCDESC 00000000 f
# CHECK-NEXT: R_ARM_TLS_GD32_FDPIC 00000000 tls0
# CHECK-NEXT: R_ARM_TLS_LDM32_FDPIC 00000000 tls1
# CHECK-NEXT: R_ARM_TLS_IE32_FDPIC 00000000 tls2
# CHECK: TLS GLOBAL DEFAULT UND tls0
# CHECK: TLS GLOBAL DEFAULT UND tls1
# CHECK: TLS GLOBAL DEFAULT UND tls2
.data
# ERR: [[#@LINE+1]]:7: error: relocation R_ARM_FUNCDESC only supported in FDPIC mode
.long f(FUNCDESC)
# ERR: [[#@LINE+1]]:7: error: relocation R_ARM_GOTFUNCDESC only supported in FDPIC mode
.long f(GOTFUNCDESC)
# ERR: [[#@LINE+1]]:7: error: relocation R_ARM_GOTOFFFUNCDESC only supported in FDPIC mode
.long f(GOTOFFFUNCDESC)
# ERR: [[#@LINE+1]]:7: error: relocation R_ARM_TLS_GD32_FDPIC only supported in FDPIC mode
.long tls0(tlsgd_fdpic)
# ERR: [[#@LINE+1]]:7: error: relocation R_ARM_TLS_LDM32_FDPIC only supported in FDPIC mode
.long tls1(tlsldm_fdpic)
# ERR: [[#@LINE+1]]:7: error: relocation R_ARM_TLS_IE32_FDPIC only supported in FDPIC mode
.long tls2(gottpoff_fdpic)