[PATCH] D105249: [llvm-strip] Support grouped options in llvm-strip

Daniel Rodríguez Troitiño via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 1 09:45:44 PDT 2021


drodriguez updated this revision to Diff 355924.
drodriguez added a comment.

Lint


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D105249/new/

https://reviews.llvm.org/D105249

Files:
  llvm/test/tools/llvm-objcopy/grouped-options.test
  llvm/tools/llvm-objcopy/ConfigManager.cpp


Index: llvm/tools/llvm-objcopy/ConfigManager.cpp
===================================================================
--- llvm/tools/llvm-objcopy/ConfigManager.cpp
+++ llvm/tools/llvm-objcopy/ConfigManager.cpp
@@ -60,7 +60,9 @@
 
 class ObjcopyOptTable : public opt::OptTable {
 public:
-  ObjcopyOptTable() : OptTable(ObjcopyInfoTable) {}
+  ObjcopyOptTable() : OptTable(ObjcopyInfoTable) {
+    setGroupedShortOptions(true);
+  }
 };
 
 enum InstallNameToolID {
@@ -164,7 +166,7 @@
 
 class StripOptTable : public opt::OptTable {
 public:
-  StripOptTable() : OptTable(StripInfoTable) {}
+  StripOptTable() : OptTable(StripInfoTable) { setGroupedShortOptions(true); }
 };
 
 } // namespace
Index: llvm/test/tools/llvm-objcopy/grouped-options.test
===================================================================
--- /dev/null
+++ llvm/test/tools/llvm-objcopy/grouped-options.test
@@ -0,0 +1,53 @@
+# This test checks that both grouped and ungrouped options (-S -x and -Sx)
+# produce exactly the same result given the same input.
+#
+# RUN: yaml2obj %s -o %t
+# RUN: llvm-strip -S -x -o %t-strip-separated %t
+# RUN: llvm-strip -Sx -o %t-strip-grouped %t
+# RUN: cmp %t-strip-separated %t-strip-grouped
+
+# RUN: llvm-objcopy -S -x %t %t-objcopy-separated
+# RUN: llvm-objcopy -Sx %t %t-objcopy-grouped
+# RUN: cmp %t-objcopy-separated %t-objcopy-grouped
+
+!ELF
+FileHeader:
+  Class:           ELFCLASS64
+  Data:            ELFDATA2LSB
+  Type:            ET_REL
+  Machine:         EM_X86_64
+Sections:
+  - Name:            .debugGlobal
+    Type:            SHT_PROGBITS
+    Content:         "00000000"
+  - Name:            .text
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
+    Address:         0x1000
+    AddressAlign:    0x0000000000000010
+    Size:            64
+Symbols:
+  - Name:     Local
+    Type:     STT_FUNC
+    Section:  .text
+    Value:    0x1000
+    Size:     8
+  - Name:     LocalSection
+    Type:     STT_SECTION
+    Section:  .text
+  - Name:     LocalFile
+    Type:     STT_FILE
+  - Name:     Global
+    Type:     STT_FUNC
+    Size:     8
+    Section:  .text
+    Value:    0x1010
+    Binding:  STB_GLOBAL
+  - Name:     Weak
+    Type:     STT_FUNC
+    Size:     8
+    Section:  .text
+    Value:    0x1008
+  - Name:    debugGlobal
+    Section: .debugGlobal
+    Binding:  STB_GLOBAL


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D105249.355924.patch
Type: text/x-patch
Size: 2378 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210701/9e8861d6/attachment.bin>


More information about the llvm-commits mailing list