diff options
| author | Jordan Rupprecht <rupprecht@google.com> | 2019-03-14 21:51:42 +0000 |
|---|---|---|
| committer | Jordan Rupprecht <rupprecht@google.com> | 2019-03-14 21:51:42 +0000 |
| commit | 12ed01dcf9136b774f4bf189280599c0c865f0f7 (patch) | |
| tree | 72aa3978b1f884005777dae47b6029bbebfe34f0 /llvm/tools | |
| parent | 0b31b24c1377e3e0f592856bc202ec54e098de0e (diff) | |
| download | bcm5719-llvm-12ed01dcf9136b774f4bf189280599c0c865f0f7.tar.gz bcm5719-llvm-12ed01dcf9136b774f4bf189280599c0c865f0f7.zip | |
[llvm-strip] Hook up (unimplemented) --only-keep-debug
For ELF, we accept but ignore --only-keep-debug. Do the same for llvm-strip.
COFF does implement this, so update the test that it is supported.
llvm-svn: 356207
Diffstat (limited to 'llvm/tools')
| -rw-r--r-- | llvm/tools/llvm-objcopy/CopyConfig.cpp | 1 | ||||
| -rw-r--r-- | llvm/tools/llvm-objcopy/ObjcopyOpts.td | 5 | ||||
| -rw-r--r-- | llvm/tools/llvm-objcopy/StripOpts.td | 5 |
3 files changed, 10 insertions, 1 deletions
diff --git a/llvm/tools/llvm-objcopy/CopyConfig.cpp b/llvm/tools/llvm-objcopy/CopyConfig.cpp index 47867826ec2..dd3fa3e80e7 100644 --- a/llvm/tools/llvm-objcopy/CopyConfig.cpp +++ b/llvm/tools/llvm-objcopy/CopyConfig.cpp @@ -725,6 +725,7 @@ Expected<DriverConfig> parseStripOptions(ArrayRef<const char *> ArgsArr) { Config.StripUnneeded = InputArgs.hasArg(STRIP_strip_unneeded); Config.StripAll = InputArgs.hasArg(STRIP_strip_all); Config.StripAllGNU = InputArgs.hasArg(STRIP_strip_all_gnu); + Config.OnlyKeepDebug = InputArgs.hasArg(STRIP_only_keep_debug); Config.KeepFileSymbols = InputArgs.hasArg(STRIP_keep_file_symbols); for (auto Arg : InputArgs.filtered(STRIP_keep_section)) diff --git a/llvm/tools/llvm-objcopy/ObjcopyOpts.td b/llvm/tools/llvm-objcopy/ObjcopyOpts.td index a5f7119e328..8cd803ba3c9 100644 --- a/llvm/tools/llvm-objcopy/ObjcopyOpts.td +++ b/llvm/tools/llvm-objcopy/ObjcopyOpts.td @@ -206,9 +206,12 @@ def N : JoinedOrSeparate<["-"], "N">, Alias<strip_symbol>; defm keep_symbol : Eq<"keep-symbol", "Do not remove symbol <symbol>">, MetaVarName<"symbol">; def K : JoinedOrSeparate<["-"], "K">, Alias<keep_symbol>; + def only_keep_debug : Flag<["-", "--"], "only-keep-debug">, - HelpText<"Currently ignored. Only for compatibility with GNU objcopy.">; + HelpText<"Clear sections that would not be stripped by --strip-debug. " + "Currently only implemented for COFF.">; + def keep_file_symbols : Flag<["-", "--"], "keep-file-symbols">, HelpText<"Do not remove file symbols">; defm dump_section diff --git a/llvm/tools/llvm-objcopy/StripOpts.td b/llvm/tools/llvm-objcopy/StripOpts.td index 40b043a7630..1bf18eb76b3 100644 --- a/llvm/tools/llvm-objcopy/StripOpts.td +++ b/llvm/tools/llvm-objcopy/StripOpts.td @@ -63,6 +63,11 @@ def keep_file_symbols : Flag<["-", "--"], "keep-file-symbols">, def K : JoinedOrSeparate<["-"], "K">, Alias<keep_symbol>; +def only_keep_debug + : Flag<["-", "--"], "only-keep-debug">, + HelpText<"Clear sections that would not be stripped by --strip-debug. " + "Currently only implemented for COFF.">; + def discard_locals : Flag<["-", "--"], "discard-locals">, HelpText<"Remove compiler-generated local symbols, (e.g. " "symbols starting with .L)">; |

