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: ELFCLASS32 86e4dc6f2SAlexander Shaposhnikov Data: ELFDATA2LSB 96e4dc6f2SAlexander Shaposhnikov Type: ET_EXEC 106e4dc6f2SAlexander Shaposhnikov Machine: EM_ARM 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: 0x0000000000001000 176e4dc6f2SAlexander Shaposhnikov Content: "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" 186e4dc6f2SAlexander Shaposhnikov - Name: .data 196e4dc6f2SAlexander Shaposhnikov Type: SHT_PROGBITS 206e4dc6f2SAlexander Shaposhnikov Flags: [ SHF_ALLOC ] 216e4dc6f2SAlexander Shaposhnikov Address: 0x2000 226e4dc6f2SAlexander Shaposhnikov AddressAlign: 0x0000000000001000 236e4dc6f2SAlexander Shaposhnikov Content: "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" 246e4dc6f2SAlexander Shaposhnikov - Name: .xdata 256e4dc6f2SAlexander Shaposhnikov Type: SHT_PROGBITS 266e4dc6f2SAlexander Shaposhnikov Flags: [ SHF_ALLOC ] 276e4dc6f2SAlexander Shaposhnikov - Name: .after 286e4dc6f2SAlexander Shaposhnikov Type: SHT_NOBITS 296e4dc6f2SAlexander Shaposhnikov Flags: [ SHF_ALLOC ] 306e4dc6f2SAlexander Shaposhnikov Size: 64 316e4dc6f2SAlexander ShaposhnikovProgramHeaders: 326e4dc6f2SAlexander Shaposhnikov - Type: PT_LOAD 336e4dc6f2SAlexander Shaposhnikov Flags: [ PF_X, PF_R ] 346e4dc6f2SAlexander Shaposhnikov VAddr: 0x1000 356e4dc6f2SAlexander Shaposhnikov Align: 0x1000 36*a7a447beSGeorgii Rymar FirstSec: .text 37*a7a447beSGeorgii Rymar LastSec: .text 386e4dc6f2SAlexander Shaposhnikov - Type: PT_LOAD 396e4dc6f2SAlexander Shaposhnikov Flags: [ PF_R, PF_W ] 406e4dc6f2SAlexander Shaposhnikov VAddr: 0x2000 416e4dc6f2SAlexander Shaposhnikov Align: 0x1000 42*a7a447beSGeorgii Rymar FirstSec: .data 43*a7a447beSGeorgii Rymar LastSec: .data 44441d4501SFangrui Song - Type: PT_GNU_STACK 456e4dc6f2SAlexander Shaposhnikov Flags: [ PF_R, PF_W ] 466e4dc6f2SAlexander Shaposhnikov VAddr: 0x0000 476e4dc6f2SAlexander Shaposhnikov Align: 0x0000 486e4dc6f2SAlexander Shaposhnikov - Type: PT_LOAD 496e4dc6f2SAlexander Shaposhnikov Flags: [ PF_R ] 506e4dc6f2SAlexander Shaposhnikov VAddr: 0x2010 51*a7a447beSGeorgii Rymar FirstSec: .xdata 52*a7a447beSGeorgii Rymar LastSec: .after 536e4dc6f2SAlexander Shaposhnikov 546e4dc6f2SAlexander Shaposhnikov#CHECK: ProgramHeaders [ 556e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: ProgramHeader { 566e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Type: PT_LOAD 576e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Offset: 0x1000 586e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: VirtualAddress: 0x1000 596e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PhysicalAddress: 0x1000 606e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: FileSize: 16 616e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: MemSize: 16 626e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Flags [ 636e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PF_R 646e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PF_X 656e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: ] 666e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Alignment: 4096 676e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: } 686e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: ProgramHeader { 696e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Type: PT_LOAD 706e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Offset: 0x2000 716e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: VirtualAddress: 0x2000 726e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PhysicalAddress: 0x2000 736e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: FileSize: 16 746e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: MemSize: 16 756e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Flags [ 766e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PF_R 776e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PF_W 786e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: ] 796e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Alignment: 4096 806e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: } 816e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: ProgramHeader { 826e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Type: PT_GNU_STACK 836e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Offset: 0x0 846e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: VirtualAddress: 0x0 856e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PhysicalAddress: 0x0 866e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: FileSize: 0 876e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: MemSize: 0 886e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Flags [ 896e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PF_R 906e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PF_W 916e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: ] 926e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Alignment: 0 936e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: } 946e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: ProgramHeader { 956e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Type: PT_LOAD 966e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Offset: 0x2010 976e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: VirtualAddress: 0x2010 986e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PhysicalAddress: 0x2010 996e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: FileSize: 0 1006e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: MemSize: 64 1016e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Flags [ 1026e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PF_R 1036e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: ] 1046e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Alignment: 1 1056e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: } 1066e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:] 107