diff lld/test/ELF/mips-tls-static-64.s @ 150:1d019706d866

LLVM10
author anatofuz
date Thu, 13 Feb 2020 15:10:13 +0900
parents
children 0572611fdcc8
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lld/test/ELF/mips-tls-static-64.s	Thu Feb 13 15:10:13 2020 +0900
@@ -0,0 +1,36 @@
+# REQUIRES: mips
+# Check handling TLS related relocations and symbols when linking
+# a 64-bit static executable.
+
+# RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux %s -o %t
+# RUN: ld.lld -static %t -o %t.exe
+# RUN: llvm-objdump -s -t %t.exe | FileCheck %s
+
+# CHECK: SYMBOL TABLE:
+# CHECK: [[TGA:[0-9a-f]{8}]]        .text           00000000 __tls_get_addr
+# CHECK:    0000000000000000 g    O .tdata          00000000 tls1
+#
+# CHECK:      Contents of section .data:
+# CHECK-NEXT:  {{.*}} [[TGA]] ffffffff ffff8004 ffffffff
+# CHECK-NEXT:  {{.*}} ffff9004
+
+  .text
+  .global __start
+__start:
+  nop
+
+  .global __tls_get_addr
+__tls_get_addr:
+  nop
+
+  .data
+loc:
+  .word __tls_get_addr
+  .dtpreldword tls1+4   # R_MIPS_TLS_DTPREL64
+  .tpreldword tls1+4    # R_MIPS_TLS_TPREL64
+
+ .section .tdata,"awT",%progbits
+ .global tls1
+tls1:
+ .word __tls_get_addr
+ .word 0