# RUN: yaml2obj %s -o %t # RUN: llvm-objcopy --strip-all-gnu %t %t2 # RUN: llvm-strip --strip-all-gnu %t -o %t3 # RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s # RUN: cmp %t2 %t3 # Show that the debug section in a segment was removed, to match GNU. # First validate that the offset in use is correct. # RUN: llvm-objcopy %t %t4 # RUN: od -t x1 -N 4 -j 120 %t4 | FileCheck %s --ignore-case --check-prefix=COPY-BYTES # RUN: od -t x1 -N 4 -j 120 %t2 | FileCheck %s --ignore-case --check-prefix=STRIP-BYTES !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_REL Machine: EM_X86_64 Sections: - Name: .debug_in_segment Type: SHT_PROGBITS Flags: [ ] Content: "deadbeef" - Name: .dynstr Type: SHT_STRTAB Flags: [ SHF_ALLOC ] - Name: .symtab.dyn Type: SHT_SYMTAB Flags: [ SHF_ALLOC ] Type: SHT_NOBITS - Name: .text Type: SHT_PROGBITS Flags: [ SHF_ALLOC, SHF_EXECINSTR ] Size: 4 - Name: .debug_info Type: SHT_PROGBITS Flags: [ ] AddressAlign: 0x1 Size: 4 - Name: .debug_loc Type: SHT_PROGBITS Flags: [ SHF_ALLOC ] AddressAlign: 0x1 Size: 4 - Name: .comment Type: SHT_PROGBITS - Name: .random_section_name Type: SHT_PROGBITS - Name: .debug_not_a_real_debug_section Type: SHT_PROGBITS - Name: .rel.text Type: SHT_REL Info: .text - Name: .rela.text Type: SHT_RELA Info: .text ProgramHeaders: # Use an arbitrary segment type to show that the segment type is unimportant. - Type: 0x61234567 FirstSec: .debug_in_segment LastSec: .debug_in_segment # CHECK: SectionHeaderCount: 8 # CHECK: Name: .dynstr # CHECK: Name: .symtab.dyn # CHECK: Name: .text # CHECK: Name: .debug_loc # CHECK: Name: .comment # CHECK: Name: .random_section_name # CHECK: Name: .shstrtab # COPY-BYTES: de ad be ef # STRIP-BYTES: 00 00 00 00