diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2018-03-28 22:45:39 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2018-03-28 22:45:39 +0000 |
| commit | c8f774b393bcfab875bb714ebd931c8f203e0e6e (patch) | |
| tree | e7a35ca96dcf7216a1930806a583a63cfa63006f /lld/ELF/InputFiles.cpp | |
| parent | 8ad9a97310239d4c2922f3583dcce7af40645c75 (diff) | |
| download | bcm5719-llvm-c8f774b393bcfab875bb714ebd931c8f203e0e6e.tar.gz bcm5719-llvm-c8f774b393bcfab875bb714ebd931c8f203e0e6e.zip | |
Strip @VER suffices from the LTO output.
This fixes pr36623.
The problem is that we have to parse versions out of names before LTO
so that LTO can use that information.
When we get the LTO produced .o files, we replace the previous symbols
with the LTO produced ones, but they still have @ in their names.
We could just trim the name directly, but calling parseSymbolVersion
to do it is simpler.
llvm-svn: 328738
Diffstat (limited to 'lld/ELF/InputFiles.cpp')
| -rw-r--r-- | lld/ELF/InputFiles.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp index c3cdb0996cd..f7b72abb53a 100644 --- a/lld/ELF/InputFiles.cpp +++ b/lld/ELF/InputFiles.cpp @@ -265,6 +265,10 @@ template <class ELFT> ArrayRef<Symbol *> ObjFile<ELFT>::getLocalSymbols() { return makeArrayRef(this->Symbols).slice(1, this->FirstNonLocal - 1); } +template <class ELFT> ArrayRef<Symbol *> ObjFile<ELFT>::getGlobalSymbols() { + return makeArrayRef(this->Symbols).slice(this->FirstNonLocal); +} + template <class ELFT> void ObjFile<ELFT>::parse(DenseSet<CachedHashStringRef> &ComdatGroups) { // Read section and symbol tables. |

