diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2016-02-16 16:46:31 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2016-02-16 16:46:31 +0000 |
| commit | f8b8b7b5d0b43209595be13f3411fa20d365bf8d (patch) | |
| tree | 1ae0b543fbc83d2e2268a3bc837bd3ff7e5e5872 /lld/ELF/Writer.cpp | |
| parent | eab4e686504f718ade24da40650f6be83680e980 (diff) | |
| download | bcm5719-llvm-f8b8b7b5d0b43209595be13f3411fa20d365bf8d.tar.gz bcm5719-llvm-f8b8b7b5d0b43209595be13f3411fa20d365bf8d.zip | |
Don't create multiple .got.plt entries for the same symbol.
We were doing it for ifunc symbols.
llvm-svn: 260980
Diffstat (limited to 'lld/ELF/Writer.cpp')
| -rw-r--r-- | lld/ELF/Writer.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
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<ELFT>::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<ELFT>(*Body)) { - if (Body->isInGot()) + if (Body->isInPlt()) continue; Out<ELFT>::Plt->addEntry(Body); bool CBP = canBePreempted(Body, /*NeedsGot=*/true); |

