mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 05:06:06 +00:00

Its PR34712, GNU linkers recently changed default values to "both" of "sysv". Patch do the same for all targets except MIPS, where .gnu.hash section is not yet supported. Code suggested by Rui Ueyama. Differential revision: https://reviews.llvm.org/D38407 llvm-svn: 315051
31 lines
756 B
ArmAsm
31 lines
756 B
ArmAsm
// REQUIRES: x86
|
|
// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
|
// RUN: ld.lld --hash-style=sysv %t -o %tout -shared
|
|
// RUN: llvm-readobj -r %tout | FileCheck %s
|
|
|
|
data16
|
|
leaq g_tls_s@TLSGD(%rip), %rdi
|
|
data16
|
|
data16
|
|
rex64
|
|
callq __tls_get_addr@PLT
|
|
|
|
data16
|
|
leaq g_tls_s@TLSGD(%rip), %rdi
|
|
data16
|
|
data16
|
|
rex64
|
|
callq __tls_get_addr@PLT
|
|
|
|
// Check that we handle two gd relocations to the same symbol.
|
|
|
|
// CHECK: Relocations [
|
|
// CHECK-NEXT: Section (4) .rela.dyn {
|
|
// CHECK-NEXT: R_X86_64_DTPMOD64 g_tls_s 0x0
|
|
// CHECK-NEXT: R_X86_64_DTPOFF64 g_tls_s 0x0
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: Section (5) .rela.plt {
|
|
// CHECK-NEXT: R_X86_64_JUMP_SLOT __tls_get_addr 0x0
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|