llvm-project/lld/test/ELF/aarch64-tls-pie.s

29 lines
672 B
ArmAsm

# REQUIRES: aarch64
# RUN: llvm-mc -filetype=obj -triple=aarch64-unknown-cloudabi %s -o %t1.o
# RUN: ld.lld -pie %t1.o -o %t
# RUN: llvm-readobj -r %t | FileCheck %s
# Similar to bug 27174: R_AARCH64_TLSLE_*TPREL* relocations should be
# eliminated when building a PIE executable, as the static TLS layout is
# fixed.
#
# CHECK: Relocations [
# CHECK-NEXT: ]
.globl _start
_start:
# Accessing the variable directly.
add x11, x8, :tprel_hi12:i
add x11, x11, :tprel_lo12_nc:i
# Accessing the variable through the GOT.
adrp x10, :gottprel:i
mrs x8, TPIDR_EL0
ldr x10, [x10, :gottprel_lo12:i]
.section .tbss.i,"awT",@nobits
.globl i
i:
.word 0
.size i, 4