[Alignment][NFC] Instructions::getLoadStoreAlignment
[llvm-complete.git] / test / tools / llvm-objcopy / ELF / marker-segment.test
blob548def4334acefe2cc1599e2fee4fdc4f3a726a1
1 # RUN: yaml2obj %s -o %t
2 # RUN: llvm-objcopy %t %t2
3 # RUN: llvm-readobj --program-headers %t2 | FileCheck %s
5 !ELF
6 FileHeader:
7   Class:           ELFCLASS32
8   Data:            ELFDATA2LSB
9   Type:            ET_EXEC
10   Machine:         EM_ARM
11 Sections:
12   - Name:            .text
13     Type:            SHT_PROGBITS
14     Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
15     Address:         0x1000
16     AddressAlign:    0x0000000000001000
17     Content:         "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
18   - Name:            .data
19     Type:            SHT_PROGBITS
20     Flags:           [ SHF_ALLOC ]
21     Address:         0x2000
22     AddressAlign:    0x0000000000001000
23     Content:         "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
24   - Name:            .xdata
25     Type:            SHT_PROGBITS
26     Flags:           [ SHF_ALLOC ]
27   - Name:            .after
28     Type:            SHT_NOBITS
29     Flags:           [ SHF_ALLOC ]
30     Size:            64
31 ProgramHeaders:
32   - Type: PT_LOAD
33     Flags: [ PF_X, PF_R ]
34     VAddr: 0x1000
35     PAddr: 0x1000
36     Align: 0x1000
37     Sections:
38       - Section: .text
39   - Type: PT_LOAD
40     Flags: [ PF_R, PF_W ]
41     VAddr: 0x2000
42     PAddr: 0x2000
43     Align: 0x1000
44     Sections:
45       - Section: .data
46   - Type: PT_GNU_STACK
47     Flags: [ PF_R, PF_W ]
48     VAddr: 0x0000
49     PAddr: 0x0000
50     Align: 0x0000
51   - Type: PT_LOAD
52     Flags: [ PF_R ]
53     VAddr: 0x2010
54     PAddr: 0x2010
55     Sections:
56       - Section: .xdata
57       - Section: .after
59 #CHECK:     ProgramHeaders [
60 #CHECK-NEXT:   ProgramHeader {
61 #CHECK-NEXT:    Type: PT_LOAD
62 #CHECK-NEXT:    Offset: 0x1000
63 #CHECK-NEXT:    VirtualAddress: 0x1000
64 #CHECK-NEXT:    PhysicalAddress: 0x1000
65 #CHECK-NEXT:    FileSize: 16
66 #CHECK-NEXT:    MemSize: 16
67 #CHECK-NEXT:    Flags [
68 #CHECK-NEXT:      PF_R
69 #CHECK-NEXT:      PF_X
70 #CHECK-NEXT:    ]
71 #CHECK-NEXT:    Alignment: 4096
72 #CHECK-NEXT:  }
73 #CHECK-NEXT:  ProgramHeader {
74 #CHECK-NEXT:    Type: PT_LOAD
75 #CHECK-NEXT:    Offset: 0x2000
76 #CHECK-NEXT:    VirtualAddress: 0x2000
77 #CHECK-NEXT:    PhysicalAddress: 0x2000
78 #CHECK-NEXT:    FileSize: 16
79 #CHECK-NEXT:    MemSize: 16
80 #CHECK-NEXT:    Flags [
81 #CHECK-NEXT:      PF_R
82 #CHECK-NEXT:      PF_W
83 #CHECK-NEXT:    ]
84 #CHECK-NEXT:    Alignment: 4096
85 #CHECK-NEXT:  }
86 #CHECK-NEXT:  ProgramHeader {
87 #CHECK-NEXT:    Type: PT_GNU_STACK
88 #CHECK-NEXT:    Offset: 0x0
89 #CHECK-NEXT:    VirtualAddress: 0x0
90 #CHECK-NEXT:    PhysicalAddress: 0x0
91 #CHECK-NEXT:    FileSize: 0
92 #CHECK-NEXT:    MemSize: 0
93 #CHECK-NEXT:    Flags [
94 #CHECK-NEXT:      PF_R
95 #CHECK-NEXT:      PF_W
96 #CHECK-NEXT:    ]
97 #CHECK-NEXT:    Alignment: 0
98 #CHECK-NEXT:  }
99 #CHECK-NEXT:  ProgramHeader {
100 #CHECK-NEXT:    Type: PT_LOAD
101 #CHECK-NEXT:    Offset: 0x2010
102 #CHECK-NEXT:    VirtualAddress: 0x2010
103 #CHECK-NEXT:    PhysicalAddress: 0x2010
104 #CHECK-NEXT:    FileSize: 0
105 #CHECK-NEXT:    MemSize: 64
106 #CHECK-NEXT:    Flags [
107 #CHECK-NEXT:      PF_R
108 #CHECK-NEXT:    ]
109 #CHECK-NEXT:    Alignment: 1
110 #CHECK-NEXT:  }
111 #CHECK-NEXT:]