diff options
Diffstat (limited to 'lld/wasm/SymbolTable.cpp')
| -rw-r--r-- | lld/wasm/SymbolTable.cpp | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/lld/wasm/SymbolTable.cpp b/lld/wasm/SymbolTable.cpp index dec59cb98c7..d10952797d5 100644 --- a/lld/wasm/SymbolTable.cpp +++ b/lld/wasm/SymbolTable.cpp @@ -202,7 +202,10 @@ DefinedFunction *SymbolTable::addSyntheticFunction(StringRef Name,  DefinedData *SymbolTable::addOptionalDataSymbol(StringRef Name, uint32_t Value,                                                  uint32_t Flags) {    Symbol *S = find(Name); -  if (!S || S->isDefined()) +  // Enable --export of optional symbols +  if (!S && (Config->ExportAll || Config->ExportedSymbols.count(Name) != 0)) +    S = insertName(Name).first; +  else if (!S || S->isDefined())      return nullptr;    LLVM_DEBUG(dbgs() << "addOptionalDataSymbol: " << Name << "\n");    auto *rtn = replaceSymbol<DefinedData>(S, Name, Flags); | 

