aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/ObjCopy/Archive.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/ObjCopy/Archive.cpp')
-rw-r--r--llvm/lib/ObjCopy/Archive.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/llvm/lib/ObjCopy/Archive.cpp b/llvm/lib/ObjCopy/Archive.cpp
index 742ca0b890cf..b6da4dc1e239 100644
--- a/llvm/lib/ObjCopy/Archive.cpp
+++ b/llvm/lib/ObjCopy/Archive.cpp
@@ -60,8 +60,9 @@ createNewArchiveMembers(const MultiFormatConfig &Config, const Archive &Ar) {
// For thin archives it writes the archive file itself as well as its members.
static Error deepWriteArchive(StringRef ArcName,
ArrayRef<NewArchiveMember> NewMembers,
- bool WriteSymtab, object::Archive::Kind Kind,
- bool Deterministic, bool Thin) {
+ SymtabWritingMode WriteSymtab,
+ object::Archive::Kind Kind, bool Deterministic,
+ bool Thin) {
if (Kind == object::Archive::K_BSD && !NewMembers.empty() &&
NewMembers.front().detectKindFromObject() == object::Archive::K_DARWIN)
Kind = object::Archive::K_DARWIN;
@@ -102,8 +103,10 @@ Error executeObjcopyOnArchive(const MultiFormatConfig &Config,
return NewArchiveMembersOrErr.takeError();
const CommonConfig &CommonConfig = Config.getCommonConfig();
return deepWriteArchive(CommonConfig.OutputFilename, *NewArchiveMembersOrErr,
- Ar.hasSymbolTable(), Ar.kind(),
- CommonConfig.DeterministicArchives, Ar.isThin());
+ Ar.hasSymbolTable() ? SymtabWritingMode::NormalSymtab
+ : SymtabWritingMode::NoSymtab,
+ Ar.kind(), CommonConfig.DeterministicArchives,
+ Ar.isThin());
}
} // end namespace objcopy