Index: llvm/trunk/test/tools/llvm-objcopy/strip-all.test =================================================================== --- llvm/trunk/test/tools/llvm-objcopy/strip-all.test +++ llvm/trunk/test/tools/llvm-objcopy/strip-all.test @@ -39,12 +39,16 @@ # RUN: llvm-objcopy -S %t9 %t9 # RUN: cmp %t2 %t9 +# RUN: cp %t %t10 +# RUN: llvm-strip -s %t10 +# RUN: cmp %t2 %t10 + # Verify that a non-existent symbol table (after first call to llvm-strip) # can be handled correctly. -# RUN: cp %t %t9 -# RUN: llvm-strip --strip-all -keep=unavailable_symbol %t9 -# RUN: llvm-strip --strip-all -keep=unavailable_symbol %t9 -# RUN: cmp %t2 %t9 +# RUN: cp %t %t11 +# RUN: llvm-strip --strip-all --keep-symbol=unavailable_symbol %t11 +# RUN: llvm-strip --strip-all --keep-symbol=unavailable_symbol %t11 +# RUN: cmp %t2 %t11 !ELF FileHeader: Index: llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp =================================================================== --- llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp +++ llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp @@ -61,7 +61,7 @@ class ObjcopyOptTable : public opt::OptTable { public: - ObjcopyOptTable() : OptTable(ObjcopyInfoTable, true) {} + ObjcopyOptTable() : OptTable(ObjcopyInfoTable) {} }; enum StripID { @@ -90,7 +90,7 @@ class StripOptTable : public opt::OptTable { public: - StripOptTable() : OptTable(StripInfoTable, true) {} + StripOptTable() : OptTable(StripInfoTable) {} }; enum SectionFlag { Index: llvm/trunk/tools/llvm-objcopy/StripOpts.td =================================================================== --- llvm/trunk/tools/llvm-objcopy/StripOpts.td +++ llvm/trunk/tools/llvm-objcopy/StripOpts.td @@ -19,6 +19,9 @@ def strip_all : Flag<["-", "--"], "strip-all">, HelpText<"Remove non-allocated sections other than .gnu.warning* sections">; +def s : Flag<["-"], "s">, + Alias; + def strip_debug : Flag<["-", "--"], "strip-debug">, HelpText<"Remove debugging symbols only">;