From f8b8b7b5d0b43209595be13f3411fa20d365bf8d Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Tue, 16 Feb 2016 16:46:31 +0000 Subject: Don't create multiple .got.plt entries for the same symbol. We were doing it for ifunc symbols. llvm-svn: 260980 --- lld/ELF/Writer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lld/ELF/Writer.cpp') diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp index 30fec493cc9..6ff50a80aef 100644 --- a/lld/ELF/Writer.cpp +++ b/lld/ELF/Writer.cpp @@ -339,7 +339,7 @@ void Writer::scanRelocs( // to the symbol go through the PLT. This is true even for a local // symbol, although local symbols normally do not require PLT entries. if (Body && isGnuIFunc(*Body)) { - if (Body->isInGot()) + if (Body->isInPlt()) continue; Out::Plt->addEntry(Body); bool CBP = canBePreempted(Body, /*NeedsGot=*/true); -- cgit v1.2.3