aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objcopy/CopyConfig.cpp
diff options
context:
space:
mode:
authorYi Kong <yikong@google.com>2019-04-01 18:12:43 +0000
committerYi Kong <yikong@google.com>2019-04-01 18:12:43 +0000
commitf2baddb0fc48708ce1deb1428c89dd3504636f18 (patch)
treed3d39dd531ec62acfa9468a010384eab4d631b3a /llvm/tools/llvm-objcopy/CopyConfig.cpp
parenta9e847238e19e152044644bc093c82f8ea86a124 (diff)
downloadllvm-f2baddb0fc48708ce1deb1428c89dd3504636f18.zip
llvm-f2baddb0fc48708ce1deb1428c89dd3504636f18.tar.gz
llvm-f2baddb0fc48708ce1deb1428c89dd3504636f18.tar.bz2
[llvm-objcopy] Add --keep-symbols option
Differential Revision: https://reviews.llvm.org/D60054 llvm-svn: 357418
Diffstat (limited to 'llvm/tools/llvm-objcopy/CopyConfig.cpp')
-rw-r--r--llvm/tools/llvm-objcopy/CopyConfig.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/tools/llvm-objcopy/CopyConfig.cpp b/llvm/tools/llvm-objcopy/CopyConfig.cpp
index cf0ed2f..50d528e 100644
--- a/llvm/tools/llvm-objcopy/CopyConfig.cpp
+++ b/llvm/tools/llvm-objcopy/CopyConfig.cpp
@@ -596,6 +596,10 @@ Expected<DriverConfig> parseObjcopyOptions(ArrayRef<const char *> ArgsArr) {
return std::move(E);
for (auto Arg : InputArgs.filtered(OBJCOPY_keep_symbol))
Config.SymbolsToKeep.emplace_back(Arg->getValue(), UseRegex);
+ for (auto Arg : InputArgs.filtered(OBJCOPY_keep_symbols))
+ if (Error E = addSymbolsFromFile(Config.SymbolsToKeep, DC.Alloc,
+ Arg->getValue(), UseRegex))
+ return std::move(E);
for (auto Arg : InputArgs.filtered(OBJCOPY_add_symbol)) {
Expected<NewSymbolInfo> NSI = parseNewSymbolInfo(Arg->getValue());
if (!NSI)