summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/wasm/SymbolTable.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lld/wasm/SymbolTable.cpp b/lld/wasm/SymbolTable.cpp
index d10952797d5..c4a460f3ad7 100644
--- a/lld/wasm/SymbolTable.cpp
+++ b/lld/wasm/SymbolTable.cpp
@@ -199,10 +199,12 @@ DefinedFunction *SymbolTable::addSyntheticFunction(StringRef Name,
Flags, nullptr, Function);
}
+// Adds an optional, linker generated, data symbols. The symbol will only be
+// added if there is an undefine reference to it, or if it is explictly exported
+// via the --export flag. Otherwise we don't add the symbol and return nullptr.
DefinedData *SymbolTable::addOptionalDataSymbol(StringRef Name, uint32_t Value,
uint32_t Flags) {
Symbol *S = find(Name);
- // Enable --export of optional symbols
if (!S && (Config->ExportAll || Config->ExportedSymbols.count(Name) != 0))
S = insertName(Name).first;
else if (!S || S->isDefined())
OpenPOWER on IntegriCloud