COFF: Implement DLL symbol exports for bitcode files.
Differential Revision: http://reviews.llvm.org/D10530
llvm-svn: 239994
diff --git a/lld/COFF/InputFiles.cpp b/lld/COFF/InputFiles.cpp
index c012236..b0a13fb 100644
--- a/lld/COFF/InputFiles.cpp
+++ b/lld/COFF/InputFiles.cpp
@@ -269,6 +269,14 @@
bool Replaceable = (SymbolDef == LTO_SYMBOL_DEFINITION_TENTATIVE ||
(Attrs & LTO_SYMBOL_COMDAT));
SymbolBodies.push_back(new (Alloc) DefinedBitcode(SymName, Replaceable));
+
+ const llvm::GlobalValue *GV = M->getSymbolGV(I);
+ if (GV && GV->hasDLLExportStorageClass()) {
+ Directives += " /export:";
+ Directives += SymName;
+ if (!GV->getValueType()->isFunctionTy())
+ Directives += ",data";
+ }
}
}