reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | ## Show that llvm-objcopy correctly updates the elf header and program header ## table when they are within a segment. # RUN: yaml2obj %s -o %t.in ## Validate that the properties are different before the removal. # RUN: llvm-readobj --file-headers --program-headers %t.in | FileCheck %s --check-prefix=BEFORE # RUN: llvm-objcopy %t.in %t.out -R .remove_me # RUN: llvm-readobj --file-headers --program-headers %t.out | FileCheck %s --check-prefix=AFTER # BEFORE: SectionHeaderCount: 6 # BEFORE: Type: PT_LOAD # BEFORE-NEXT: Offset: 0x0 # BEFORE: Type: PT_LOAD # BEFORE-NEXT: Offset: 0xC0 # AFTER: SectionHeaderCount: 3 # AFTER: Type: PT_LOAD # AFTER-NEXT: Offset: 0x0 # AFTER: Type: PT_LOAD # AFTER-NEXT: Offset: 0xB0 --- !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_EXEC Machine: EM_X86_64 Sections: - Name: .remove_me Type: SHT_PROGBITS Size: 0x10 - Name: .keep_me Type: SHT_PROGBITS Size: 0x10 ProgramHeaders: - Type: PT_LOAD Offset: 0 FileSize: 176 # sizeof(Elf64_Ehdr) + 2 * sizeof(Elf64_Phdr) - Type: PT_LOAD Sections: - Section: .keep_me Symbols: [] |