brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 1360664 Raw
42 lines · plain
1# REQUIRES: mips2# Check handling TLS related relocations and symbols when linking3# a static executable.4 5# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t6# RUN: ld.lld -static %t -o %t.exe7# RUN: llvm-objdump -s -t %t.exe | FileCheck %s8 9# CHECK: SYMBOL TABLE:10# CHECK:           00000000 g      .tdata          00000000 tls111# CHECK:  [[TGA:[0-9a-f]+]] g      .text           00000000 __tls_get_addr12#13# CHECK:      Contents of section .data:14# CHECK-NEXT:  {{.*}} [[TGA]] ffff8004 ffff900415# CHECK:      Contents of section .got:16# CHECK-NEXT:  {{.*}} 00000000 80000000 ffff9000 0000000117# CHECK-NEXT:  {{.*}} ffff8000 00000001 0000000018 19  .text20  .global __start21__start:22  addiu $2, $3, %tlsgd(tls1)      # R_MIPS_TLS_GD23  addiu $2, $3, %tlsldm(tls2)     # R_MIPS_TLS_LDM24  addiu $2, $3, %gottprel(tls1)   # R_MIPS_TLS_GOTTPREL25 26  .global __tls_get_addr27__tls_get_addr:28  nop29 30  .data31loc:32  .word __tls_get_addr33  .dtprelword tls1+4    # R_MIPS_TLS_DTPREL3234  .tprelword tls1+4     # R_MIPS_TLS_TPREL3235 36 .section .tdata,"awT",%progbits37 .global tls138tls1:39 .word __tls_get_addr40tls2:41 .word 042