11f448149SJames Henderson## Show that llvm-objcopy correctly updates the elf header and program header 21f448149SJames Henderson## table when they are within a segment. 31f448149SJames Henderson 41f448149SJames Henderson# RUN: yaml2obj %s -o %t.in 51f448149SJames Henderson## Validate that the properties are different before the removal. 61f448149SJames Henderson# RUN: llvm-readobj --file-headers --program-headers %t.in | FileCheck %s --check-prefix=BEFORE 71f448149SJames Henderson# RUN: llvm-objcopy %t.in %t.out -R .remove_me 81f448149SJames Henderson# RUN: llvm-readobj --file-headers --program-headers %t.out | FileCheck %s --check-prefix=AFTER 91f448149SJames Henderson 101f448149SJames Henderson# BEFORE: SectionHeaderCount: 6 111f448149SJames Henderson# BEFORE: Type: PT_LOAD 121f448149SJames Henderson# BEFORE-NEXT: Offset: 0x0 131f448149SJames Henderson# BEFORE: Type: PT_LOAD 14c3bc6979SFangrui Song# BEFORE-NEXT: Offset: 0xC0 151f448149SJames Henderson 16c7e6d14cSEugene Leviant# AFTER: SectionHeaderCount: 3 171f448149SJames Henderson# AFTER: Type: PT_LOAD 181f448149SJames Henderson# AFTER-NEXT: Offset: 0x0 191f448149SJames Henderson# AFTER: Type: PT_LOAD 201f448149SJames Henderson# AFTER-NEXT: Offset: 0xB0 211f448149SJames Henderson 221f448149SJames Henderson--- !ELF 231f448149SJames HendersonFileHeader: 241f448149SJames Henderson Class: ELFCLASS64 251f448149SJames Henderson Data: ELFDATA2LSB 261f448149SJames Henderson Type: ET_EXEC 271f448149SJames Henderson Machine: EM_X86_64 281f448149SJames HendersonSections: 291f448149SJames Henderson - Name: .remove_me 301f448149SJames Henderson Type: SHT_PROGBITS 311f448149SJames Henderson Size: 0x10 321f448149SJames Henderson - Name: .keep_me 331f448149SJames Henderson Type: SHT_PROGBITS 341f448149SJames Henderson Size: 0x10 351f448149SJames HendersonProgramHeaders: 361f448149SJames Henderson - Type: PT_LOAD 371f448149SJames Henderson Offset: 0 381f448149SJames Henderson FileSize: 176 # sizeof(Elf64_Ehdr) + 2 * sizeof(Elf64_Phdr) 391f448149SJames Henderson - Type: PT_LOAD 40*a7a447beSGeorgii Rymar FirstSec: .keep_me 41*a7a447beSGeorgii Rymar LastSec: .keep_me 422779987dSGeorge RimarSymbols: [] 43