brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · 9cb63f6 Raw
79 lines · plain
1// REQUIRES: x862// RUN: llvm-mc -filetype=obj -triple=i686 %s -o %t.o3// RUN: ld.lld %t.o -o %t14// RUN: llvm-readobj -r %t1 | FileCheck --check-prefix=NORELOC %s5// RUN: llvm-objdump --no-print-imm-hex -d --no-show-raw-insn %t1 | FileCheck --check-prefix=DISASM %s6 7// NORELOC:      Relocations [8// NORELOC-NEXT: ]9 10// DISASM:      Disassembly of section .text:11// DISASM-EMPTY:12// DISASM-NEXT: <_start>:13// LD -> LE:14// DISASM-NEXT:   movl %gs:0, %eax15// DISASM-NEXT:   nop16// DISASM-NEXT:   leal (%esi,%eiz), %esi17// DISASM-NEXT:   leal -8(%eax), %edx18// DISASM-NEXT:   movl %gs:0, %eax19// DISASM-NEXT:   nop20// DISASM-NEXT:   leal (%esi,%eiz), %esi21// DISASM-NEXT:   leal -4(%eax), %edx22// DISASM-NEXT:   movl %gs:0, %eax23// DISASM-NEXT:   leal (%esi), %esi24// DISASM-NEXT:   movl -4(%eax), %edx25// IE -> LE:26// 4294967288 == 0xFFFFFFF827// 4294967292 == 0xFFFFFFFC28// DISASM-NEXT:   movl %gs:0, %eax29// DISASM-NEXT:   movl $4294967288, %eax30// DISASM-NEXT:   movl %gs:0, %eax31// DISASM-NEXT:   movl $4294967292, %eax32// DISASM-NEXT:   movl %gs:0, %eax33// DISASM-NEXT:   leal -8(%eax), %eax34// DISASM-NEXT:   movl %gs:0, %eax35// DISASM-NEXT:   leal -4(%eax), %eax36.type tls0,@object37.section .tbss,"awT",@nobits38.globl tls039.align 440tls0:41 .long 042 .size tls0, 443 44.type  tls1,@object45.globl tls146.align 447tls1:48 .long 049 .size tls1, 450 51.section .text52.globl ___tls_get_addr53.type ___tls_get_addr,@function54___tls_get_addr:55 56.section .text57.globl _start58_start:59//LD -> LE:60leal tls0@tlsldm(%ebx),%eax61call ___tls_get_addr@plt62leal tls0@dtpoff(%eax),%edx63leal tls1@tlsldm(%ebx),%eax64call ___tls_get_addr@plt65leal tls1@dtpoff(%eax),%edx66// -fno-plt LD -> LE67leal tls1@tlsldm(%edx),%eax68call *___tls_get_addr@GOT(%edx)69movl tls1@dtpoff(%eax), %edx70//IE -> LE:71movl %gs:0,%eax72movl tls0@gotntpoff(%ebx),%eax73movl %gs:0,%eax74movl tls1@gotntpoff(%ebx),%eax75movl %gs:0,%eax76addl tls0@gotntpoff(%ebx),%eax77movl %gs:0,%eax78addl tls1@gotntpoff(%ebx),%eax79