46 lines · plain
1# REQUIRES: aarch642# RUN: llvm-mc -filetype=obj -triple=aarch64 %s -o %t.o3# RUN: ld.lld -shared %t.o -o %t.so4# RUN: llvm-readobj -d -r %t.so | FileCheck %s --check-prefix=IE-REL5# RUN: llvm-objdump -d --no-show-raw-insn --print-imm-hex %t.so | FileCheck %s --check-prefix=IE6 7# RUN: ld.lld %t.o -o %t8# RUN: llvm-readobj -d -r %t | FileCheck %s --check-prefix=LE-REL9# RUN: llvm-objdump --no-print-imm-hex -d --no-show-raw-insn %t | FileCheck %s --check-prefix=LE10 11# IE-REL: FLAGS STATIC_TLS12# IE-REL: .rela.dyn {13# IE-REL-NEXT: 0x20390 R_AARCH64_TLS_TPREL64 - 0xC14# IE-REL-NEXT: 0x20388 R_AARCH64_TLS_TPREL64 a 0x015# IE-REL-NEXT: }16 17# IE: adrp x0, 0x2000018# IE-NEXT: ldr x0, [x0, #0x388]19# IE-NEXT: adrp x1, 0x2000020# IE-NEXT: ldr x1, [x1, #0x390]21 22# LE-REL-NOT: FLAGS23# LE-REL: Relocations [24# LE-REL-NEXT: ]25 26## TP is followed by a gap of 2 words, followed by alignment padding (empty in this case), then the static TLS blocks.27## a's offset is 16+8=24.28# LE: movz x0, #0, lsl #1629# LE-NEXT: movk x0, #2430# LE-NEXT: movz x1, #0, lsl #1631# LE-NEXT: movk x1, #2832 33.globl _start34_start:35 adrp x0, :gottprel:a36 ldr x0, [x0, #:gottprel_lo12:a]37 adrp x1, :gottprel:b38 ldr x1, [x1, #:gottprel_lo12:b]39 40.section .tbss,"awT",%nobits41.globl a42.zero 843a:44.zero 445b:46