2 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
3 # RUN: echo "SECTIONS { \
5 # RUN: .aaa : AT(0x2000) \
13 # RUN: .ccc : AT(0x3000) \
17 # RUN: .ddd : AT(0x4000) \
22 # RUN: ld.lld %t --script %t.script -o %t2
23 # RUN: llvm-readobj -program-headers %t2 | FileCheck %s
25 # CHECK: ProgramHeaders [
26 # CHECK-NEXT: ProgramHeader {
27 # CHECK-NEXT: Type: PT_PHDR
28 # CHECK-NEXT: Offset: 0x40
29 # CHECK-NEXT: VirtualAddress: 0x40
30 # CHECK-NEXT: PhysicalAddress: 0x40
31 # CHECK-NEXT: FileSize:
32 # CHECK-NEXT: MemSize:
36 # CHECK-NEXT: Alignment: 8
38 # CHECK-NEXT: ProgramHeader {
39 # CHECK-NEXT: Type: PT_LOAD
40 # CHECK-NEXT: Offset: 0x0
41 # CHECK-NEXT: VirtualAddress: 0x0
42 # CHECK-NEXT: PhysicalAddress: 0x0
43 # CHECK-NEXT: FileSize:
44 # CHECK-NEXT: MemSize:
49 # CHECK-NEXT: Alignment:
51 # CHECK-NEXT: ProgramHeader {
52 # CHECK-NEXT: Type: PT_LOAD
53 # CHECK-NEXT: Offset: 0x1000
54 # CHECK-NEXT: VirtualAddress: 0x1000
55 # CHECK-NEXT: PhysicalAddress: 0x2000
56 # CHECK-NEXT: FileSize: 16
57 # CHECK-NEXT: MemSize: 16
62 # CHECK-NEXT: Alignment:
64 # CHECK-NEXT: ProgramHeader {
65 # CHECK-NEXT: Type: PT_LOAD
66 # CHECK-NEXT: Offset: 0x1010
67 # CHECK-NEXT: VirtualAddress: 0x1010
68 # CHECK-NEXT: PhysicalAddress: 0x3000
69 # CHECK-NEXT: FileSize: 8
70 # CHECK-NEXT: MemSize: 8
75 # CHECK-NEXT: Alignment: 4096
77 # CHECK-NEXT: ProgramHeader {
78 # CHECK-NEXT: Type: PT_LOAD
79 # CHECK-NEXT: Offset: 0x1018
80 # CHECK-NEXT: VirtualAddress: 0x1018
81 # CHECK-NEXT: PhysicalAddress: 0x4000
82 # CHECK-NEXT: FileSize: 9
83 # CHECK-NEXT: MemSize: 9
88 # CHECK-NEXT: Alignment: 4096
90 # CHECK-NEXT: ProgramHeader {
91 # CHECK-NEXT: Type: PT_GNU_STACK
93 # CHECK-NEXT: VirtualAddress: 0x0
94 # CHECK-NEXT: PhysicalAddress: 0x0
95 # CHECK-NEXT: FileSize:
96 # CHECK-NEXT: MemSize:
101 # CHECK-NEXT: Alignment: 0