[PATCH] D123798: [llvm-objcopy] Make llvm-strip --only-keep-debug suppress default --strip-all
Fangrui Song via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 18 14:16:17 PDT 2022
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG3787de40de20: [llvm-objcopy] Make llvm-strip --only-keep-debug suppress default --strip-all (authored by jmciver, committed by MaskRay).
Changed prior to commit:
https://reviews.llvm.org/D123798?vs=423326&id=423469#toc
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D123798/new/
https://reviews.llvm.org/D123798
Files:
llvm/test/tools/llvm-objcopy/COFF/only-keep-debug.test
llvm/test/tools/llvm-objcopy/ELF/only-keep-debug.test
llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
Index: llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
===================================================================
--- llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
+++ llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
@@ -1313,8 +1313,9 @@
return std::move(E);
if (!InputArgs.hasArg(STRIP_no_strip_all) && !Config.StripDebug &&
- !Config.StripUnneeded && Config.DiscardMode == DiscardType::None &&
- !Config.StripAllGNU && Config.SymbolsToRemove.empty())
+ !Config.OnlyKeepDebug && !Config.StripUnneeded &&
+ Config.DiscardMode == DiscardType::None && !Config.StripAllGNU &&
+ Config.SymbolsToRemove.empty())
Config.StripAll = true;
if (Config.DiscardMode == DiscardType::All) {
Index: llvm/test/tools/llvm-objcopy/ELF/only-keep-debug.test
===================================================================
--- llvm/test/tools/llvm-objcopy/ELF/only-keep-debug.test
+++ llvm/test/tools/llvm-objcopy/ELF/only-keep-debug.test
@@ -1,6 +1,9 @@
# RUN: yaml2obj --docnum=1 %s -o %t1
# RUN: llvm-objcopy --only-keep-debug %t1 %t1.dbg
# RUN: llvm-readelf -S -l -x .note1 -x .note2 -x .debug_abbrev -x .debug_frame -x .debug_info %t1.dbg | FileCheck %s
+## --only-keep-debug suppresses the default --strip-all.
+# RUN: llvm-strip --only-keep-debug %t1
+# RUN: llvm-readelf -S -l -x .note1 -x .note2 -x .debug_abbrev -x .debug_frame -x .debug_info %t1 | FileCheck %s
## Check that SHT_NOTE and .debug* are kept, but others are changed to SHT_NOBITS.
## SHT_NOBITS sections do not occupy space in the output.
Index: llvm/test/tools/llvm-objcopy/COFF/only-keep-debug.test
===================================================================
--- llvm/test/tools/llvm-objcopy/COFF/only-keep-debug.test
+++ llvm/test/tools/llvm-objcopy/COFF/only-keep-debug.test
@@ -3,9 +3,9 @@
RUN: llvm-objcopy --only-keep-debug %t.in.exe %t.out.exe
RUN: llvm-readobj --sections %t.out.exe | FileCheck %s --check-prefix=SECTIONS
RUN: llvm-objdump -t %t.out.exe | FileCheck %s --check-prefix=SYMBOLS
-# Run llvm-strip with --strip-symbol on a non-existent symbol to prevent
-# defaulting to --strip-all.
-RUN: llvm-strip --only-keep-debug --strip-symbol foo %t.in.exe -o %t-strip.out.exe
+
+## --only-keep-debug suppresses the default --strip-all.
+RUN: llvm-strip --only-keep-debug %t.in.exe -o %t-strip.out.exe
RUN: cmp %t.out.exe %t-strip.out.exe
Check that all non-debug/buildid sections with IMAGE_SCN_CNT_CODE
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D123798.423469.patch
Type: text/x-patch
Size: 2439 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220418/a1c510c8/attachment.bin>
More information about the llvm-commits
mailing list