forked from OSchip/llvm-project
29 lines
672 B
ArmAsm
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
|