16e4dc6f2SAlexander Shaposhnikov# RUN: yaml2obj %s -o %t 26e4dc6f2SAlexander Shaposhnikov# RUN: llvm-objcopy %t %t2 3298ea3f5SJordan Rupprecht# RUN: llvm-readobj --program-headers %t2 | FileCheck %s 46e4dc6f2SAlexander Shaposhnikov 56e4dc6f2SAlexander Shaposhnikov!ELF 66e4dc6f2SAlexander ShaposhnikovFileHeader: 76e4dc6f2SAlexander Shaposhnikov Class: ELFCLASS64 86e4dc6f2SAlexander Shaposhnikov Data: ELFDATA2LSB 96e4dc6f2SAlexander Shaposhnikov Type: ET_EXEC 106e4dc6f2SAlexander Shaposhnikov Machine: EM_X86_64 116e4dc6f2SAlexander ShaposhnikovSections: 126e4dc6f2SAlexander Shaposhnikov - Name: .text 136e4dc6f2SAlexander Shaposhnikov Type: SHT_PROGBITS 146e4dc6f2SAlexander Shaposhnikov Flags: [ SHF_ALLOC, SHF_EXECINSTR ] 156e4dc6f2SAlexander Shaposhnikov Address: 0x1000 166e4dc6f2SAlexander Shaposhnikov AddressAlign: 0x1000 176e4dc6f2SAlexander Shaposhnikov Size: 0x1000 186e4dc6f2SAlexander Shaposhnikov - Name: .text2 196e4dc6f2SAlexander Shaposhnikov Type: SHT_PROGBITS 206e4dc6f2SAlexander Shaposhnikov Flags: [ SHF_ALLOC, SHF_EXECINSTR ] 216e4dc6f2SAlexander Shaposhnikov Address: 0x2000 226e4dc6f2SAlexander Shaposhnikov AddressAlign: 0x1000 236e4dc6f2SAlexander Shaposhnikov Size: 0x1000 246e4dc6f2SAlexander Shaposhnikov - Name: .text3 256e4dc6f2SAlexander Shaposhnikov Type: SHT_PROGBITS 266e4dc6f2SAlexander Shaposhnikov Flags: [ SHF_ALLOC, SHF_EXECINSTR ] 276e4dc6f2SAlexander Shaposhnikov Address: 0x3000 286e4dc6f2SAlexander Shaposhnikov AddressAlign: 0x1000 296e4dc6f2SAlexander Shaposhnikov Size: 0x1000 306e4dc6f2SAlexander ShaposhnikovProgramHeaders: 316e4dc6f2SAlexander Shaposhnikov - Type: PT_LOAD 326e4dc6f2SAlexander Shaposhnikov Flags: [ PF_R ] 336e4dc6f2SAlexander Shaposhnikov VAddr: 0x1000 34*a7a447beSGeorgii Rymar FirstSec: .text 35*a7a447beSGeorgii Rymar LastSec: .text 366e4dc6f2SAlexander Shaposhnikov - Type: PT_LOAD 376e4dc6f2SAlexander Shaposhnikov Flags: [ PF_X, PF_R ] 386e4dc6f2SAlexander Shaposhnikov VAddr: 0x3000 39*a7a447beSGeorgii Rymar FirstSec: .text3 40*a7a447beSGeorgii Rymar LastSec: .text3 416e4dc6f2SAlexander Shaposhnikov 426e4dc6f2SAlexander Shaposhnikov# CHECK: ProgramHeaders [ 436e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: ProgramHeader { 446e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: Type: PT_LOAD (0x1) 456e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: Offset: 0x1000 466e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: VirtualAddress: 0x1000 476e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: PhysicalAddress: 0x1000 486e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: FileSize: 4096 496e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: MemSize: 4096 506e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: Flags [ (0x4) 516e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: PF_R (0x4) 526e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: ] 536e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: Alignment: 4096 546e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: } 556e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: ProgramHeader { 566e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: Type: PT_LOAD (0x1) 576e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: Offset: 0x2000 586e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: VirtualAddress: 0x3000 596e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: PhysicalAddress: 0x3000 606e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: FileSize: 4096 616e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: MemSize: 4096 626e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: Flags [ (0x5) 636e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: PF_R (0x4) 646e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: PF_X (0x1) 656e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: ] 666e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: Alignment: 4096 676e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT: } 686e4dc6f2SAlexander Shaposhnikov# CHECK-NEXT:] 69