| # This test simply tests a simple but common real world example of overlapping | |
| # segments. | |
| # RUN: llvm-objcopy %p/Inputs/pt-phdr.elf %t | |
| # RUN: llvm-readobj -program-headers %t | FileCheck %s | |
| #CHECK: ProgramHeaders [ | |
| #CHECK-NEXT: ProgramHeader { | |
| #CHECK-NEXT: Type: PT_PHDR | |
| #CHECK-NEXT: Offset: 0x40 | |
| #CHECK-NEXT: VirtualAddress: 0x200040 | |
| #CHECK-NEXT: PhysicalAddress: 0x200040 | |
| #CHECK-NEXT: FileSize: 280 | |
| #CHECK-NEXT: MemSize: 280 | |
| #CHECK-NEXT: Flags [ | |
| #CHECK-NEXT: PF_R | |
| #CHECK-NEXT: ] | |
| #CHECK-NEXT: Alignment: 8 | |
| #CHECK-NEXT: } | |
| #CHECK-NEXT: ProgramHeader { | |
| #CHECK-NEXT: Type: PT_LOAD | |
| #CHECK-NEXT: Offset: 0x0 | |
| #CHECK-NEXT: VirtualAddress: 0x200000 | |
| #CHECK-NEXT: PhysicalAddress: 0x200000 | |
| #CHECK-NEXT: FileSize: 344 | |
| #CHECK-NEXT: MemSize: 344 | |
| #CHECK-NEXT: Flags [ | |
| #CHECK-NEXT: PF_R | |
| #CHECK-NEXT: ] | |
| #CHECK-NEXT: Alignment: 4096 | |
| #CHECK-NEXT: } | |
| #CHECK-NEXT: ProgramHeader { | |
| #CHECK-NEXT: Type: PT_LOAD | |
| #CHECK-NEXT: Offset: 0x1000 | |
| #CHECK-NEXT: VirtualAddress: 0x201000 | |
| #CHECK-NEXT: PhysicalAddress: 0x201000 | |
| #CHECK-NEXT: FileSize: 1 | |
| #CHECK-NEXT: MemSize: 1 | |
| #CHECK-NEXT: Flags [ | |
| #CHECK-NEXT: PF_R | |
| #CHECK-NEXT: PF_X | |
| #CHECK-NEXT: ] | |
| #CHECK-NEXT: Alignment: 4096 | |
| #CHECK-NEXT: } | |
| #CHECK-NEXT: ProgramHeader { | |
| #CHECK-NEXT: Type: PT_LOAD | |
| #CHECK-NEXT: Offset: 0x2000 | |
| #CHECK-NEXT: VirtualAddress: 0x202000 | |
| #CHECK-NEXT: PhysicalAddress: 0x202000 | |
| #CHECK-NEXT: FileSize: 14 | |
| #CHECK-NEXT: MemSize: 14 | |
| #CHECK-NEXT: Flags [ | |
| #CHECK-NEXT: PF_R | |
| #CHECK-NEXT: PF_W | |
| #CHECK-NEXT: ] | |
| #CHECK-NEXT: Alignment: 4096 | |
| #CHECK-NEXT: } | |
| #CHECK-NEXT: ProgramHeader { | |
| #CHECK-NEXT: Type: PT_GNU_STACK (0x6474E551) | |
| #CHECK-NEXT: Offset: 0x0 | |
| #CHECK-NEXT: VirtualAddress: 0x0 | |
| #CHECK-NEXT: PhysicalAddress: 0x0 | |
| #CHECK-NEXT: FileSize: 0 | |
| #CHECK-NEXT: MemSize: 0 | |
| #CHECK-NEXT: Flags [ | |
| #CHECK-NEXT: PF_R | |
| #CHECK-NEXT: PF_W | |
| #CHECK-NEXT: ] | |
| #CHECK-NEXT: Alignment: 0 | |
| #CHECK-NEXT: } | |
| #CHECK-NEXT:] |