diff options
Diffstat (limited to 'llvm/test/tools/llvm-objcopy/ELF/strip-sections.test')
-rw-r--r-- | llvm/test/tools/llvm-objcopy/ELF/strip-sections.test | 176 |
1 files changed, 88 insertions, 88 deletions
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-sections.test b/llvm/test/tools/llvm-objcopy/ELF/strip-sections.test index 3a9edec0b59..40032d93a3d 100644 --- a/llvm/test/tools/llvm-objcopy/ELF/strip-sections.test +++ b/llvm/test/tools/llvm-objcopy/ELF/strip-sections.test @@ -1,88 +1,88 @@ -# RUN: yaml2obj %s > %t
-# RUN: llvm-objcopy --strip-sections %t %t2
-# RUN: llvm-readobj --file-headers --program-headers %t2 | FileCheck %s
-# RUN: od -t x1 -j 4096 -N 12 %t2 | FileCheck %s --ignore-case --check-prefix=DATA
-
-## Sanity check the DATA-NOT line by showing that "fe ed fa ce" appears
-## if --strip-sections is not specified.
-# RUN: llvm-objcopy %t %t3
-# RUN: od -t x1 -j 4096 -N 12 %t3 | FileCheck %s --ignore-case --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
- Data: ELFDATA2LSB
- Type: ET_EXEC
- Machine: EM_X86_64
-Sections:
- - Name: .text
- Type: SHT_PROGBITS
- Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
- AddressAlign: 0x0000000000001000
- Content: "DEADBEEF"
- - Name: .non_alloc_in_segment
- Type: SHT_PROGBITS
- Flags: [ ]
- Content: "CAFEBABE"
- - Name: .non_alloc_not_in_segment
- Type: SHT_PROGBITS
- Flags: [ ]
- Content: "FEEDFACE"
-ProgramHeaders:
-- Type: PT_LOAD
- Flags: [ PF_X, PF_R ]
- Sections:
- - Section: .text
- - Section: .non_alloc_in_segment
-
-# DATA: {{^[^[:blank:]]+}} de ad be ef ca fe ba be
-# DATA-NOT: fe ed fa ce
-
-# VALIDATE: {{^[^[:blank:]]+}} de ad be ef ca fe ba be fe ed fa ce
-
-# CHECK: ElfHeader {
-# CHECK-NEXT: Ident {
-# CHECK-NEXT: Magic: (7F 45 4C 46)
-# CHECK-NEXT: Class: 64-bit (0x2)
-# CHECK-NEXT: DataEncoding: LittleEndian (0x1)
-# CHECK-NEXT: FileVersion: 1
-# CHECK-NEXT: OS/ABI: SystemV (0x0)
-# CHECK-NEXT: ABIVersion: 0
-# CHECK-NEXT: Unused: (00 00 00 00 00 00 00)
-# CHECK-NEXT: }
-# CHECK-NEXT: Type: Executable (0x2)
-# CHECK-NEXT: Machine: EM_X86_64 (0x3E)
-# CHECK-NEXT: Version: 1
-# CHECK-NEXT: Entry: 0x0
-# CHECK-NEXT: ProgramHeaderOffset: 0x40
-# CHECK-NEXT: SectionHeaderOffset: 0x0
-# CHECK-NEXT: Flags [ (0x0)
-# CHECK-NEXT: ]
-# CHECK-NEXT: HeaderSize: 64
-# CHECK-NEXT: ProgramHeaderEntrySize: 56
-# CHECK-NEXT: ProgramHeaderCount: 1
-# CHECK-NEXT: SectionHeaderEntrySize: 0
-# CHECK-NEXT: SectionHeaderCount: 0
-# CHECK-NEXT: StringTableSectionIndex: 0
-# CHECK-NEXT: }
-
-# CHECK: ProgramHeaders [
-# CHECK-NEXT: ProgramHeader {
-# CHECK-NEXT: Type: PT_LOAD (0x1)
-# CHECK-NEXT: Offset: 0x1000
-# CHECK-NEXT: VirtualAddress: 0x0
-# CHECK-NEXT: PhysicalAddress: 0x0
-# CHECK-NEXT: FileSize: 8
-# CHECK-NEXT: MemSize: 8
-# CHECK-NEXT: Flags [ (0x5)
-# CHECK-NEXT: PF_R (0x4)
-# CHECK-NEXT: PF_X (0x1)
-# CHECK-NEXT: ]
-# CHECK-NEXT: Alignment: 4096
-# CHECK-NEXT: }
-# CHECK-NEXT: ]
+# RUN: yaml2obj %s > %t +# RUN: llvm-objcopy --strip-sections %t %t2 +# RUN: llvm-readobj --file-headers --program-headers %t2 | FileCheck %s +# RUN: od -t x1 -j 4096 -N 12 %t2 | FileCheck %s --check-prefix=DATA + +## Sanity check the DATA-NOT line by showing that "fe ed fa ce" appears +## if --strip-sections is not specified. +# 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 + Data: ELFDATA2LSB + Type: ET_EXEC + Machine: EM_X86_64 +Sections: + - Name: .text + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + AddressAlign: 0x0000000000001000 + Content: "DEADBEEF" + - Name: .non_alloc_in_segment + Type: SHT_PROGBITS + Flags: [ ] + Content: "CAFEBABE" + - Name: .non_alloc_not_in_segment + Type: SHT_PROGBITS + Flags: [ ] + Content: "FEEDFACE" +ProgramHeaders: +- Type: PT_LOAD + Flags: [ PF_X, PF_R ] + Sections: + - Section: .text + - Section: .non_alloc_in_segment + +# DATA: {{^[^[:blank:]]+}} de ad be ef ca fe ba be +# DATA-NOT: fe ed fa ce + +# VALIDATE: {{^[^[:blank:]]+}} de ad be ef ca fe ba be fe ed fa ce + +# CHECK: ElfHeader { +# CHECK-NEXT: Ident { +# CHECK-NEXT: Magic: (7F 45 4C 46) +# CHECK-NEXT: Class: 64-bit (0x2) +# CHECK-NEXT: DataEncoding: LittleEndian (0x1) +# CHECK-NEXT: FileVersion: 1 +# CHECK-NEXT: OS/ABI: SystemV (0x0) +# CHECK-NEXT: ABIVersion: 0 +# CHECK-NEXT: Unused: (00 00 00 00 00 00 00) +# CHECK-NEXT: } +# CHECK-NEXT: Type: Executable (0x2) +# CHECK-NEXT: Machine: EM_X86_64 (0x3E) +# CHECK-NEXT: Version: 1 +# CHECK-NEXT: Entry: 0x0 +# CHECK-NEXT: ProgramHeaderOffset: 0x40 +# CHECK-NEXT: SectionHeaderOffset: 0x0 +# CHECK-NEXT: Flags [ (0x0) +# CHECK-NEXT: ] +# CHECK-NEXT: HeaderSize: 64 +# CHECK-NEXT: ProgramHeaderEntrySize: 56 +# CHECK-NEXT: ProgramHeaderCount: 1 +# CHECK-NEXT: SectionHeaderEntrySize: 0 +# CHECK-NEXT: SectionHeaderCount: 0 +# CHECK-NEXT: StringTableSectionIndex: 0 +# CHECK-NEXT: } + +# CHECK: ProgramHeaders [ +# CHECK-NEXT: ProgramHeader { +# CHECK-NEXT: Type: PT_LOAD (0x1) +# CHECK-NEXT: Offset: 0x1000 +# CHECK-NEXT: VirtualAddress: 0x0 +# CHECK-NEXT: PhysicalAddress: 0x0 +# CHECK-NEXT: FileSize: 8 +# CHECK-NEXT: MemSize: 8 +# CHECK-NEXT: Flags [ (0x5) +# CHECK-NEXT: PF_R (0x4) +# CHECK-NEXT: PF_X (0x1) +# CHECK-NEXT: ] +# CHECK-NEXT: Alignment: 4096 +# CHECK-NEXT: } +# CHECK-NEXT: ] |