diff options
author | Jordan Rupprecht <rupprecht@google.com> | 2018-11-01 17:36:37 +0000 |
---|---|---|
committer | Jordan Rupprecht <rupprecht@google.com> | 2018-11-01 17:36:37 +0000 |
commit | fc780bbb1604859511dc74fc4b8986bb11194019 (patch) | |
tree | 7923ebcff0253e1a9b045bee84599d32be5da899 /llvm/tools/llvm-objcopy/llvm-objcopy.cpp | |
parent | cc1e9c414bd2109927ac37fb46c1c4b3967682e6 (diff) | |
download | llvm-fc780bbb1604859511dc74fc4b8986bb11194019.zip llvm-fc780bbb1604859511dc74fc4b8986bb11194019.tar.gz llvm-fc780bbb1604859511dc74fc4b8986bb11194019.tar.bz2 |
[llvm-objcopy] Support --{enable,disable}-deterministic-archives
Summary: ar and objcopy/strip all support configuring whether archives are written deterministically (timestamps/UIDs/GIDs/etc zero'd). This has been ported to llvm-ar (the U/D modifiers) but not yet to llvm-objcopy/strip.
Reviewers: jakehehrlich, jhenderson, alexshap
Reviewed By: jhenderson
Subscribers: ruiu, mgrang, llvm-commits
Differential Revision: https://reviews.llvm.org/D53913
llvm-svn: 345859
Diffstat (limited to 'llvm/tools/llvm-objcopy/llvm-objcopy.cpp')
-rw-r--r-- | llvm/tools/llvm-objcopy/llvm-objcopy.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/tools/llvm-objcopy/llvm-objcopy.cpp b/llvm/tools/llvm-objcopy/llvm-objcopy.cpp index deaea5e..a033aae 100644 --- a/llvm/tools/llvm-objcopy/llvm-objcopy.cpp +++ b/llvm/tools/llvm-objcopy/llvm-objcopy.cpp @@ -147,7 +147,7 @@ static void executeObjcopyOnArchive(const CopyConfig &Config, executeObjcopyOnBinary(Config, *Bin, MB); Expected<NewArchiveMember> Member = - NewArchiveMember::getOldMember(Child, true); + NewArchiveMember::getOldMember(Child, Config.DeterministicArchives); if (!Member) reportError(Ar.getFileName(), Member.takeError()); Member->Buf = MB.releaseMemoryBuffer(); @@ -157,9 +157,9 @@ static void executeObjcopyOnArchive(const CopyConfig &Config, if (Err) reportError(Config.InputFilename, std::move(Err)); - if (Error E = - deepWriteArchive(Config.OutputFilename, NewArchiveMembers, - Ar.hasSymbolTable(), Ar.kind(), true, Ar.isThin())) + if (Error E = deepWriteArchive(Config.OutputFilename, NewArchiveMembers, + Ar.hasSymbolTable(), Ar.kind(), + Config.DeterministicArchives, Ar.isThin())) reportError(Config.OutputFilename, std::move(E)); } |