mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 10:42:39 +01:00
[llvm-strip] Support grouped options in llvm-strip
GNU and Apple `strip` implementations seems to support grouped options. Enable the support for grouped options introduced in https://reviews.llvm.org/D83639 for `llvm-strip` invocations. Includes test that checks that both the grouped and non grouped invocations produces the same result. Reviewed By: alexander-shaposhnikov, MaskRay Differential Revision: https://reviews.llvm.org/D105249
This commit is contained in:
parent
ee40bb98a6
commit
67647eca64
53
test/tools/llvm-objcopy/grouped-options.test
Normal file
53
test/tools/llvm-objcopy/grouped-options.test
Normal file
@ -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
|
@ -60,7 +60,9 @@ static const opt::OptTable::Info ObjcopyInfoTable[] = {
|
||||
|
||||
class ObjcopyOptTable : public opt::OptTable {
|
||||
public:
|
||||
ObjcopyOptTable() : OptTable(ObjcopyInfoTable) {}
|
||||
ObjcopyOptTable() : OptTable(ObjcopyInfoTable) {
|
||||
setGroupedShortOptions(true);
|
||||
}
|
||||
};
|
||||
|
||||
enum InstallNameToolID {
|
||||
@ -164,7 +166,7 @@ static const opt::OptTable::Info StripInfoTable[] = {
|
||||
|
||||
class StripOptTable : public opt::OptTable {
|
||||
public:
|
||||
StripOptTable() : OptTable(StripInfoTable) {}
|
||||
StripOptTable() : OptTable(StripInfoTable) { setGroupedShortOptions(true); }
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
Loading…
Reference in New Issue
Block a user