Add a -exported-symbol option to llvm-lto.

Patch by Tom Roeder.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191825 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola
2013-10-02 14:12:56 +00:00
parent 86b4f1a96f
commit b964366a9a
2 changed files with 17 additions and 0 deletions

View File

@ -45,6 +45,12 @@ OutputFilename("o", cl::init(""),
cl::desc("Override output filename"),
cl::value_desc("filename"));
static cl::list<std::string>
ExportedSymbols("exported-symbol",
cl::desc("Symbol to export from the resulting object file"),
cl::ZeroOrMore);
int main(int argc, char **argv) {
// Print a stack trace if we signal out.
sys::PrintStackTraceOnErrorSignal();
@ -107,6 +113,10 @@ int main(int argc, char **argv) {
}
}
// Add all the exported symbols to the table of symbols to preserve.
for (unsigned i = 0; i < ExportedSymbols.size(); ++i)
CodeGen.addMustPreserveSymbol(ExportedSymbols[i].c_str());
if (!OutputFilename.empty()) {
size_t len = 0;
std::string ErrorInfo;