Follow up to d0858bffa11, add missing REQUIRES x86
[llvm-project.git] / llvm / test / tools / llvm-objcopy / ELF / identical-segments.test
blob795118aa60631bbe45e06b607d23c4ce5723e8a6
1 # This test tests that if two possible parent segments have the same offset that
2 # they're disambiguated based on their original index. This ensures that cycles
3 # do not occur.
5 # RUN: yaml2obj %s -o %t
6 # RUN: llvm-objcopy %t %t2
7 # RUN: llvm-readobj --program-headers %t2 | FileCheck %s
9 !ELF
10 FileHeader:
11   Class:           ELFCLASS64
12   Data:            ELFDATA2LSB
13   Type:            ET_EXEC
14   Machine:         EM_X86_64
15 Sections:
16   - Name:            .text
17     Type:            SHT_PROGBITS
18     Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
19     AddressAlign:    0x1000
20     Size:            4096
21   - Name:            .text2
22     Type:            SHT_PROGBITS
23     Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
24     AddressAlign:    0x1000
25     Size:            4096
26 ProgramHeaders:
27   - Type:     PT_LOAD
28     Flags:    [ PF_X, PF_R ]
29     FirstSec: .text2
30     LastSec:  .text2
31   - Type:     PT_LOAD
32     Flags:    [ PF_X, PF_R ]
33     FirstSec: .text
34     LastSec:  .text2
35   - Type:     PT_LOAD
36     Flags:    [ PF_X, PF_R ]
37     FirstSec: .text
38     LastSec:  .text2
40 #CHECK:     ProgramHeaders [
41 #CHECK-NEXT:  ProgramHeader {
42 #CHECK-NEXT:    Type: PT_LOAD (0x1)
43 #CHECK-NEXT:    Offset: 0x2000
44 #CHECK-NEXT:    VirtualAddress: 0x0
45 #CHECK-NEXT:    PhysicalAddress: 0x0
46 #CHECK-NEXT:    FileSize: 4096
47 #CHECK-NEXT:    MemSize: 4096
48 #CHECK-NEXT:    Flags [ (0x5)
49 #CHECK-NEXT:      PF_R (0x4)
50 #CHECK-NEXT:      PF_X (0x1)
51 #CHECK-NEXT:    ]
52 #CHECK-NEXT:    Alignment: 4096
53 #CHECK-NEXT:  }
54 #CHECK-NEXT:  ProgramHeader {
55 #CHECK-NEXT:    Type: PT_LOAD (0x1)
56 #CHECK-NEXT:    Offset: 0x1000
57 #CHECK-NEXT:    VirtualAddress: 0x0
58 #CHECK-NEXT:    PhysicalAddress: 0x0
59 #CHECK-NEXT:    FileSize: 8192
60 #CHECK-NEXT:    MemSize: 8192
61 #CHECK-NEXT:    Flags [ (0x5)
62 #CHECK-NEXT:      PF_R (0x4)
63 #CHECK-NEXT:      PF_X (0x1)
64 #CHECK-NEXT:    ]
65 #CHECK-NEXT:    Alignment: 4096
66 #CHECK-NEXT:  }
67 #CHECK-NEXT:  ProgramHeader {
68 #CHECK-NEXT:    Type: PT_LOAD (0x1)
69 #CHECK-NEXT:    Offset: 0x1000
70 #CHECK-NEXT:    VirtualAddress: 0x0
71 #CHECK-NEXT:    PhysicalAddress: 0x0
72 #CHECK-NEXT:    FileSize: 8192
73 #CHECK-NEXT:    MemSize: 8192
74 #CHECK-NEXT:    Flags [ (0x5)
75 #CHECK-NEXT:      PF_R (0x4)
76 #CHECK-NEXT:      PF_X (0x1)
77 #CHECK-NEXT:    ]
78 #CHECK-NEXT:    Alignment: 4096
79 #CHECK-NEXT:  }
80 #CHECK-NEXT:]