16e4dc6f2SAlexander Shaposhnikov# This test tests that if two possible parent segments have the same offset that 26e4dc6f2SAlexander Shaposhnikov# they're disambiguated based on their original index. This ensures that cycles 36e4dc6f2SAlexander Shaposhnikov# do not occur. 46e4dc6f2SAlexander Shaposhnikov 56e4dc6f2SAlexander Shaposhnikov# RUN: yaml2obj %s -o %t 66e4dc6f2SAlexander Shaposhnikov# RUN: llvm-objcopy %t %t2 76e4dc6f2SAlexander Shaposhnikov# RUN: llvm-readobj --program-headers %t2 | FileCheck %s 86e4dc6f2SAlexander Shaposhnikov 96e4dc6f2SAlexander Shaposhnikov!ELF 106e4dc6f2SAlexander ShaposhnikovFileHeader: 116e4dc6f2SAlexander Shaposhnikov Class: ELFCLASS64 126e4dc6f2SAlexander Shaposhnikov Data: ELFDATA2LSB 136e4dc6f2SAlexander Shaposhnikov Type: ET_EXEC 146e4dc6f2SAlexander Shaposhnikov Machine: EM_X86_64 156e4dc6f2SAlexander ShaposhnikovSections: 166e4dc6f2SAlexander Shaposhnikov - Name: .text 176e4dc6f2SAlexander Shaposhnikov Type: SHT_PROGBITS 186e4dc6f2SAlexander Shaposhnikov Flags: [ SHF_ALLOC, SHF_EXECINSTR ] 196e4dc6f2SAlexander Shaposhnikov AddressAlign: 0x1000 206e4dc6f2SAlexander Shaposhnikov Size: 4096 216e4dc6f2SAlexander Shaposhnikov - Name: .text2 226e4dc6f2SAlexander Shaposhnikov Type: SHT_PROGBITS 236e4dc6f2SAlexander Shaposhnikov Flags: [ SHF_ALLOC, SHF_EXECINSTR ] 246e4dc6f2SAlexander Shaposhnikov AddressAlign: 0x1000 256e4dc6f2SAlexander Shaposhnikov Size: 4096 266e4dc6f2SAlexander ShaposhnikovProgramHeaders: 276e4dc6f2SAlexander Shaposhnikov - Type: PT_LOAD 286e4dc6f2SAlexander Shaposhnikov Flags: [ PF_X, PF_R ] 29*a7a447beSGeorgii Rymar FirstSec: .text2 30*a7a447beSGeorgii Rymar LastSec: .text2 316e4dc6f2SAlexander Shaposhnikov - Type: PT_LOAD 326e4dc6f2SAlexander Shaposhnikov Flags: [ PF_X, PF_R ] 33*a7a447beSGeorgii Rymar FirstSec: .text 34*a7a447beSGeorgii Rymar LastSec: .text2 356e4dc6f2SAlexander Shaposhnikov - Type: PT_LOAD 366e4dc6f2SAlexander Shaposhnikov Flags: [ PF_X, PF_R ] 37*a7a447beSGeorgii Rymar FirstSec: .text 38*a7a447beSGeorgii Rymar LastSec: .text2 396e4dc6f2SAlexander Shaposhnikov 406e4dc6f2SAlexander Shaposhnikov#CHECK: ProgramHeaders [ 416e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: ProgramHeader { 426e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Type: PT_LOAD (0x1) 436e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Offset: 0x2000 446e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: VirtualAddress: 0x0 456e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PhysicalAddress: 0x0 466e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: FileSize: 4096 476e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: MemSize: 4096 486e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Flags [ (0x5) 496e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PF_R (0x4) 506e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PF_X (0x1) 516e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: ] 526e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Alignment: 4096 536e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: } 546e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: ProgramHeader { 556e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Type: PT_LOAD (0x1) 566e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Offset: 0x1000 576e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: VirtualAddress: 0x0 586e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PhysicalAddress: 0x0 596e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: FileSize: 8192 606e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: MemSize: 8192 616e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Flags [ (0x5) 626e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PF_R (0x4) 636e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PF_X (0x1) 646e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: ] 656e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Alignment: 4096 666e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: } 676e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: ProgramHeader { 686e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Type: PT_LOAD (0x1) 696e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Offset: 0x1000 706e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: VirtualAddress: 0x0 716e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PhysicalAddress: 0x0 726e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: FileSize: 8192 736e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: MemSize: 8192 746e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Flags [ (0x5) 756e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PF_R (0x4) 766e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: PF_X (0x1) 776e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: ] 786e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Alignment: 4096 796e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: } 806e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:] 81