mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-04 20:20:54 +00:00
[ELF] Suppress duplicate symbol error for __x86.get_pc_thunk.bx
This commit is contained in:
parent
eaafa70017
commit
c1d4c67718
@ -546,7 +546,7 @@ void elf::reportDuplicate(const Symbol &sym, const InputFile *newFile,
|
||||
// .gnu.linkonce.t.__x86.get_pc_thunk.bx will be discarded, so there is
|
||||
// actually no duplicate.
|
||||
const Defined *d = dyn_cast<Defined>(&sym);
|
||||
if (!d)
|
||||
if (!d || d->getName() == "__x86.get_pc_thunk.bx")
|
||||
return;
|
||||
// Allow absolute symbols with the same value for GNU ld compatibility.
|
||||
if (!d->section && !errSec && errOffset && d->value == errOffset)
|
||||
|
@ -5,7 +5,7 @@ __i686.get_pc_thunk.bx:
|
||||
ret
|
||||
|
||||
.section .text
|
||||
.global _strchr1
|
||||
.weak _strchr1
|
||||
_strchr1:
|
||||
call __i686.get_pc_thunk.bx
|
||||
ret
|
||||
|
@ -6,7 +6,7 @@
|
||||
/// crti.o in i386 glibc<2.32 has .gnu.linkonce.t.__x86.get_pc_thunk.bx that is
|
||||
/// not fully supported. Test that we don't report
|
||||
/// "relocation refers to a symbol in a discarded section: __x86.get_pc_thunk.bx".
|
||||
// RUN: ld.lld %t.o %t2.a -o /dev/null
|
||||
// RUN: ld.lld %t.o %t2.a %t2.o -o /dev/null
|
||||
|
||||
.globl _start
|
||||
_start:
|
||||
|
Loading…
Reference in New Issue
Block a user