1RUN: llvm-readobj -program-headers %p/../../Object/Inputs/program-headers.elf-i386 \ 2RUN: | FileCheck %s -check-prefix ELF-I386 3RUN: llvm-readobj -program-headers %p/../../Object/Inputs/program-headers.elf-x86-64 \ 4RUN: | FileCheck %s -check-prefix ELF-X86-64 5RUN: llvm-readobj -program-headers %p/../../Object/Inputs/program-headers.mips \ 6RUN: | FileCheck %s -check-prefix ELF-MIPS 7RUN: llvm-readobj -program-headers %p/../../Object/Inputs/program-headers.mips64 \ 8RUN: | FileCheck %s -check-prefix ELF-MIPS64 9 10ELF-I386: ProgramHeaders [ 11ELF-I386-NEXT: ProgramHeader { 12ELF-I386-NEXT: Type: PT_LOAD (0x1) 13ELF-I386-NEXT: Offset: 0x0 14ELF-I386-NEXT: VirtualAddress: 0x8048000 15ELF-I386-NEXT: PhysicalAddress: 0x8048000 16ELF-I386-NEXT: FileSize: 308 17ELF-I386-NEXT: MemSize: 308 18ELF-I386-NEXT: Flags [ (0x5) 19ELF-I386-NEXT: PF_R (0x4) 20ELF-I386-NEXT: PF_X (0x1) 21ELF-I386-NEXT: ] 22ELF-I386-NEXT: Alignment: 4096 23ELF-I386-NEXT: } 24ELF-I386-NEXT: ProgramHeader { 25ELF-I386-NEXT: Type: PT_GNU_STACK (0x6474E551) 26ELF-I386-NEXT: Offset: 0x0 27ELF-I386-NEXT: VirtualAddress: 0x0 28ELF-I386-NEXT: PhysicalAddress: 0x0 29ELF-I386-NEXT: FileSize: 0 30ELF-I386-NEXT: MemSize: 0 31ELF-I386-NEXT: Flags [ (0x6) 32ELF-I386-NEXT: PF_R (0x4) 33ELF-I386-NEXT: PF_W (0x2) 34ELF-I386-NEXT: ] 35ELF-I386-NEXT: Alignment: 4 36ELF-I386-NEXT: } 37ELF-I386-NEXT: ] 38 39ELF-X86-64: ProgramHeaders [ 40ELF-X86-64-NEXT: ProgramHeader { 41ELF-X86-64-NEXT: Type: PT_LOAD (0x1) 42ELF-X86-64-NEXT: Offset: 0x0 43ELF-X86-64-NEXT: VirtualAddress: 0x400000 44ELF-X86-64-NEXT: PhysicalAddress: 0x400000 45ELF-X86-64-NEXT: FileSize: 312 46ELF-X86-64-NEXT: MemSize: 312 47ELF-X86-64-NEXT: Flags [ (0x5) 48ELF-X86-64-NEXT: PF_R (0x4) 49ELF-X86-64-NEXT: PF_X (0x1) 50ELF-X86-64-NEXT: ] 51ELF-X86-64-NEXT: Alignment: 2097152 52ELF-X86-64-NEXT: } 53ELF-X86-64-NEXT: ProgramHeader { 54ELF-X86-64-NEXT: Type: PT_GNU_EH_FRAME (0x6474E550) 55ELF-X86-64-NEXT: Offset: 0xF4 56ELF-X86-64-NEXT: VirtualAddress: 0x4000F4 57ELF-X86-64-NEXT: PhysicalAddress: 0x4000F4 58ELF-X86-64-NEXT: FileSize: 20 59ELF-X86-64-NEXT: MemSize: 20 60ELF-X86-64-NEXT: Flags [ (0x4) 61ELF-X86-64-NEXT: PF_R (0x4) 62ELF-X86-64-NEXT: ] 63ELF-X86-64-NEXT: Alignment: 4 64ELF-X86-64-NEXT: } 65ELF-X86-64-NEXT: ProgramHeader { 66ELF-X86-64-NEXT: Type: PT_GNU_STACK (0x6474E551) 67ELF-X86-64-NEXT: Offset: 0x0 68ELF-X86-64-NEXT: VirtualAddress: 0x0 69ELF-X86-64-NEXT: PhysicalAddress: 0x0 70ELF-X86-64-NEXT: FileSize: 0 71ELF-X86-64-NEXT: MemSize: 0 72ELF-X86-64-NEXT: Flags [ (0x6) 73ELF-X86-64-NEXT: PF_R (0x4) 74ELF-X86-64-NEXT: PF_W (0x2) 75ELF-X86-64-NEXT: ] 76ELF-X86-64-NEXT: Alignment: 8 77ELF-X86-64-NEXT: } 78ELF-X86-64-NEXT: ] 79 80ELF-MIPS: Format: ELF32-mips 81ELF-MIPS-NEXT: Arch: mips 82ELF-MIPS-NEXT: AddressSize: 32bit 83ELF-MIPS-NEXT: LoadName: 84ELF-MIPS-NEXT: ProgramHeaders [ 85ELF-MIPS-NEXT: ProgramHeader { 86ELF-MIPS-NEXT: Type: PT_MIPS_ABIFLAGS (0x70000003) 87ELF-MIPS-NEXT: Offset: 0x98 88ELF-MIPS-NEXT: VirtualAddress: 0x400098 89ELF-MIPS-NEXT: PhysicalAddress: 0x400098 90ELF-MIPS-NEXT: FileSize: 24 91ELF-MIPS-NEXT: MemSize: 24 92ELF-MIPS-NEXT: Flags [ (0x4) 93ELF-MIPS-NEXT: PF_R (0x4) 94ELF-MIPS-NEXT: ] 95ELF-MIPS-NEXT: Alignment: 8 96ELF-MIPS-NEXT: } 97ELF-MIPS-NEXT: ProgramHeader { 98ELF-MIPS-NEXT: Type: PT_MIPS_REGINFO (0x70000000) 99ELF-MIPS-NEXT: Offset: 0xB0 100ELF-MIPS-NEXT: VirtualAddress: 0x4000B0 101ELF-MIPS-NEXT: PhysicalAddress: 0x4000B0 102ELF-MIPS-NEXT: FileSize: 24 103ELF-MIPS-NEXT: MemSize: 24 104ELF-MIPS-NEXT: Flags [ (0x4) 105ELF-MIPS-NEXT: PF_R (0x4) 106ELF-MIPS-NEXT: ] 107ELF-MIPS-NEXT: Alignment: 4 108ELF-MIPS-NEXT: } 109ELF-MIPS-NEXT: ProgramHeader { 110ELF-MIPS-NEXT: Type: PT_LOAD (0x1) 111ELF-MIPS-NEXT: Offset: 0x0 112ELF-MIPS-NEXT: VirtualAddress: 0x400000 113ELF-MIPS-NEXT: PhysicalAddress: 0x400000 114ELF-MIPS-NEXT: FileSize: 224 115ELF-MIPS-NEXT: MemSize: 224 116ELF-MIPS-NEXT: Flags [ (0x5) 117ELF-MIPS-NEXT: PF_R (0x4) 118ELF-MIPS-NEXT: PF_X (0x1) 119ELF-MIPS-NEXT: ] 120ELF-MIPS-NEXT: Alignment: 65536 121ELF-MIPS-NEXT: } 122ELF-MIPS-NEXT: ] 123 124ELF-MIPS64: Format: ELF64-mips 125ELF-MIPS64-NEXT: Arch: mips64 126ELF-MIPS64-NEXT: AddressSize: 64bit 127ELF-MIPS64-NEXT: LoadName: 128ELF-MIPS64-NEXT: ProgramHeaders [ 129ELF-MIPS64-NEXT: ProgramHeader { 130ELF-MIPS64-NEXT: Type: PT_LOAD (0x1) 131ELF-MIPS64-NEXT: Offset: 0x0 132ELF-MIPS64-NEXT: VirtualAddress: 0x120000000 133ELF-MIPS64-NEXT: PhysicalAddress: 0x120000000 134ELF-MIPS64-NEXT: FileSize: 136 135ELF-MIPS64-NEXT: MemSize: 136 136ELF-MIPS64-NEXT: Flags [ (0x5) 137ELF-MIPS64-NEXT: PF_R (0x4) 138ELF-MIPS64-NEXT: PF_X (0x1) 139ELF-MIPS64-NEXT: ] 140ELF-MIPS64-NEXT: Alignment: 65536 141ELF-MIPS64-NEXT: } 142ELF-MIPS64-NEXT: ] 143