1// REQUIRES: x86 2// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o 3// RUN: ld.lld %t.o -o %t1 4// RUN: llvm-readobj -r %t1 | FileCheck --check-prefix=NORELOC %s 5// RUN: llvm-objdump -d %t1 | FileCheck --check-prefix=DISASM %s 6 7// NORELOC: Relocations [ 8// NORELOC-NEXT: ] 9 10// DISASM: Disassembly of section .text: 11// DISASM-EMPTY: 12// DISASM-NEXT: <_start>: 13// DISASM-NEXT: movq $-8, %rax 14// DISASM-NEXT: movq $-8, %r15 15// DISASM-NEXT: leaq -8(%rax), %rax 16// DISASM-NEXT: leaq -8(%r15), %r15 17// DISASM-NEXT: addq $-8, %rsp 18// DISASM-NEXT: addq $-8, %r12 19// DISASM-NEXT: movq $-4, %rax 20// DISASM-NEXT: movq $-4, %r15 21// DISASM-NEXT: leaq -4(%rax), %rax 22// DISASM-NEXT: leaq -4(%r15), %r15 23// DISASM-NEXT: addq $-4, %rsp 24// DISASM-NEXT: addq $-4, %r12 25 26.section .tbss,"awT",@nobits 27 28.type tls0,@object 29.align 4 30tls0: 31 .long 0 32 .size tls0, 4 33 34.type tls1,@object 35.align 4 36tls1: 37 .long 0 38 .size tls1, 4 39 40.section .text 41.globl _start 42_start: 43 movq tls0@GOTTPOFF(%rip), %rax 44 movq tls0@GOTTPOFF(%rip), %r15 45 addq tls0@GOTTPOFF(%rip), %rax 46 addq tls0@GOTTPOFF(%rip), %r15 47 addq tls0@GOTTPOFF(%rip), %rsp 48 addq tls0@GOTTPOFF(%rip), %r12 49 movq tls1@GOTTPOFF(%rip), %rax 50 movq tls1@GOTTPOFF(%rip), %r15 51 addq tls1@GOTTPOFF(%rip), %rax 52 addq tls1@GOTTPOFF(%rip), %r15 53 addq tls1@GOTTPOFF(%rip), %rsp 54 addq tls1@GOTTPOFF(%rip), %r12 55