aboutsummaryrefslogtreecommitdiffstats
path: root/ELF/Config.h
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-06-10 13:44:49 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-06-10 13:44:49 +0000
commit2079716dfb3fb7e4e24b8b2e85eb6780b981a0af (patch)
tree3b0c58e50948b450b50b20ae5a38c005128edfb5 /ELF/Config.h
parentb9a1baec33e911ca24f51abf882d454e62047ea6 (diff)
downloadsrc-2079716dfb3fb7e4e24b8b2e85eb6780b981a0af.tar.gz
src-2079716dfb3fb7e4e24b8b2e85eb6780b981a0af.zip
Vendor import of lld trunk r305145:vendor/lld/lld-trunk-r305145
Notes
Notes: svn path=/vendor/lld/dist/; revision=319788 svn path=/vendor/lld/lld-trunk-r305145/; revision=319789; tag=vendor/lld/lld-trunk-r305145
Diffstat (limited to 'ELF/Config.h')
-rw-r--r--ELF/Config.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/ELF/Config.h b/ELF/Config.h
index 54f6dc2acc7c..9c73b4c9c068 100644
--- a/ELF/Config.h
+++ b/ELF/Config.h
@@ -13,9 +13,9 @@
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSet.h"
+#include "llvm/BinaryFormat/ELF.h"
#include "llvm/Support/CachePruning.h"
#include "llvm/Support/CodeGen.h"
-#include "llvm/Support/ELF.h"
#include "llvm/Support/Endian.h"
#include <vector>
@@ -67,6 +67,12 @@ struct VersionDefinition {
size_t NameOff = 0; // Offset in the string table
};
+// Structure for mapping renamed symbols
+struct RenamedSymbol {
+ Symbol *Target;
+ uint8_t OrigBinding;
+};
+
// This struct contains the global configuration for the linker.
// Most fields are direct mapping from the command line options
// and such fields have the same name as the corresponding options.
@@ -98,6 +104,7 @@ struct Configuration {
std::vector<SymbolVersion> VersionScriptGlobals;
std::vector<SymbolVersion> VersionScriptLocals;
std::vector<uint8_t> BuildIdVector;
+ llvm::MapVector<Symbol *, RenamedSymbol> RenamedSymbols;
bool AllowMultipleDefinition;
bool AsNeeded = false;
bool Bsymbolic;