diff options
Diffstat (limited to 'llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp')
-rw-r--r-- | llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp b/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp index 319aebf..138d9fc 100644 --- a/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp +++ b/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp @@ -516,8 +516,14 @@ int llvm::libDriverMain(ArrayRef<const char *> ArgsArr) { std::reverse(Members.begin(), Members.end()); bool Thin = Args.hasArg(OPT_llvmlibthin); + + auto Symtab = Args.hasFlag(OPT_llvmlibindex, OPT_llvmlibindex_no, + /*default=*/true) + ? SymtabWritingMode::NormalSymtab + : SymtabWritingMode::NoSymtab; + if (Error E = writeArchive( - OutputPath, Members, SymtabWritingMode::NormalSymtab, + OutputPath, Members, Symtab, Thin ? object::Archive::K_GNU : object::Archive::K_COFF, /*Deterministic=*/true, Thin, nullptr, COFF::isArm64EC(LibMachine))) { handleAllErrors(std::move(E), [&](const ErrorInfoBase &EI) { |