diff options
author | Roman Divacky <rdivacky@freebsd.org> | 2014-01-08 18:50:32 +0000 |
---|---|---|
committer | Roman Divacky <rdivacky@freebsd.org> | 2014-01-08 18:50:32 +0000 |
commit | fb4d390766765f32a7c0cf886003fb68179276d6 (patch) | |
tree | 918d77fba2d79077671af2581b0000a596a19c66 /llvm/lib/MC/ELFObjectWriter.cpp | |
parent | 656fdd55dd0dffb9177b8008fe030c24300507cb (diff) | |
download | bcm5719-llvm-fb4d390766765f32a7c0cf886003fb68179276d6.tar.gz bcm5719-llvm-fb4d390766765f32a7c0cf886003fb68179276d6.zip |
Force emit a relocation for @gnu_indirect_function symbols so that the indirect
resolution works.
llvm-svn: 198780
Diffstat (limited to 'llvm/lib/MC/ELFObjectWriter.cpp')
-rw-r--r-- | llvm/lib/MC/ELFObjectWriter.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/MC/ELFObjectWriter.cpp b/llvm/lib/MC/ELFObjectWriter.cpp index 9490a9941ac..f6dbfced540 100644 --- a/llvm/lib/MC/ELFObjectWriter.cpp +++ b/llvm/lib/MC/ELFObjectWriter.cpp @@ -1645,7 +1645,7 @@ ELFObjectWriter::IsSymbolRefDifferenceFullyResolvedImpl(const MCAssembler &Asm, const MCFragment &FB, bool InSet, bool IsPCRel) const { - if (DataA.getFlags() & ELF_STB_Weak) + if (DataA.getFlags() & ELF_STB_Weak || MCELF::GetType(DataA) == ELF::STT_GNU_IFUNC) return false; return MCObjectWriter::IsSymbolRefDifferenceFullyResolvedImpl( Asm, DataA, FB,InSet, IsPCRel); |