forked from OSchip/llvm-project
[llvm-strip] Support --strip-sections
llvm-objcopy already supports --strip-sections. It is a good fit for its alias llvm-strip to support it as well. Reviewers: rupprecht, jhenderson Differential Revision: https://reviews.llvm.org/D65787 llvm-svn: 368241
This commit is contained in:
parent
80ef2f05d8
commit
ab751a7c8b
|
@ -8,6 +8,11 @@
|
|||
# RUN: llvm-objcopy %t %t3
|
||||
# RUN: od -t x1 -j 4096 -N 12 %t3 | FileCheck %s --check-prefix=VALIDATE
|
||||
|
||||
## Check that llvm-strip --strip-sections is equivalent to
|
||||
## llvm-objcopy --strip-sections.
|
||||
# RUN: llvm-strip --strip-sections %t -o %t4
|
||||
# RUN: cmp %t2 %t4
|
||||
|
||||
!ELF
|
||||
FileHeader:
|
||||
Class: ELFCLASS64
|
||||
|
|
|
@ -810,6 +810,7 @@ parseStripOptions(ArrayRef<const char *> ArgsArr,
|
|||
InputArgs.hasFlag(STRIP_discard_all, STRIP_discard_locals)
|
||||
? DiscardType::All
|
||||
: DiscardType::Locals;
|
||||
Config.StripSections = InputArgs.hasArg(STRIP_strip_sections);
|
||||
Config.StripUnneeded = InputArgs.hasArg(STRIP_strip_unneeded);
|
||||
if (auto Arg = InputArgs.getLastArg(STRIP_strip_all, STRIP_no_strip_all))
|
||||
Config.StripAll = Arg->getOption().getID() == STRIP_strip_all;
|
||||
|
|
|
@ -52,6 +52,9 @@ def strip_debug : Flag<["--"], "strip-debug">,
|
|||
def d : Flag<["-"], "d">, Alias<strip_debug>;
|
||||
def g : Flag<["-"], "g">, Alias<strip_debug>;
|
||||
def S : Flag<["-"], "S">, Alias<strip_debug>;
|
||||
def strip_sections
|
||||
: Flag<["--"], "strip-sections">,
|
||||
HelpText<"Remove all section headers and all sections not in segments">;
|
||||
def strip_unneeded : Flag<["--"], "strip-unneeded">,
|
||||
HelpText<"Remove all symbols not needed by relocations">;
|
||||
|
||||
|
|
Loading…
Reference in New Issue