forked from OSchip/llvm-project
Don't create a PLT when we optimize out the plt use.
llvm-svn: 265202
This commit is contained in:
parent
24ae22c047
commit
cf3b04dab9
|
@ -302,7 +302,7 @@ static unsigned handleTlsRelocation(uint32_t Type, SymbolBody &Body,
|
|||
return 1;
|
||||
}
|
||||
if (!Body.isPreemptible())
|
||||
return 1;
|
||||
return 2;
|
||||
if (!Body.isInGot()) {
|
||||
Out<ELFT>::Got->addEntry(Body);
|
||||
Out<ELFT>::RelaDyn->addReloc(
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
|
||||
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/tls-opt-gdie.s -o %t2.o
|
||||
// RUN: ld.lld %t2.o -o %t2.so -shared
|
||||
// RUN: ld.lld %t.o %t2.so -o %t.exe
|
||||
// RUN: llvm-readobj -s %t.exe | FileCheck %s
|
||||
|
||||
// CHECK-NOT: .plt
|
||||
|
||||
.global _start
|
||||
_start:
|
||||
data16
|
||||
leaq foo@TLSGD(%rip), %rdi
|
||||
data16
|
||||
data16
|
||||
rex64
|
||||
callq __tls_get_addr@PLT
|
||||
|
||||
|
||||
.type foo,@object
|
||||
.section .tdata,"awT",@progbits
|
||||
.globl foo
|
||||
.align 8
|
||||
foo:
|
||||
.long 42
|
Loading…
Reference in New Issue