1# REQUIRES: x86
2# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
3# RUN: echo "PHDRS {all PT_LOAD FILEHDR PHDRS FLAGS (1 | 1 + 0x1);} \
4# RUN:       SECTIONS { \
5# RUN:           . = 0x10000200; \
6# RUN:           .text : {*(.text*)} :all \
7# RUN:           .foo : {*(.foo.*)} :all \
8# RUN:           .data : {*(.data.*)} :all}" > %t.script
9# RUN: ld.lld -o %t1 --script %t.script %t
10# RUN: llvm-readobj -l %t1 | FileCheck %s
11
12# RUN: echo "PHDRS {all PT_LOAD FILEHDR PHDRS FLAGS (0x1);} \
13# RUN:       SECTIONS { \
14# RUN:           . = 0x10000200; \
15# RUN:           .text : {*(.text*)} :all \
16# RUN:           .foo : {*(.foo.*)}  \
17# RUN:           .data : {*(.data.*)} }" > %t.script
18# RUN: ld.lld -o %t1 --script %t.script %t
19# RUN: llvm-readobj -l %t1 | FileCheck --check-prefix=DEFHDR %s
20
21# CHECK:     ProgramHeaders [
22# CHECK-NEXT:  ProgramHeader {
23# CHECK-NEXT:    Type: PT_LOAD (0x1)
24# CHECK-NEXT:    Offset: 0x0
25# CHECK-NEXT:    VirtualAddress: 0x10000000
26# CHECK-NEXT:    PhysicalAddress: 0x10000000
27# CHECK-NEXT:    FileSize: 521
28# CHECK-NEXT:    MemSize: 521
29# CHECK-NEXT:    Flags [
30# CHECK-NEXT:      PF_W (0x2)
31# CHECK-NEXT:      PF_X (0x1)
32# CHECK-NEXT:    ]
33
34# DEFHDR:     ProgramHeaders [
35# DEFHDR-NEXT:  ProgramHeader {
36# DEFHDR-NEXT:    Type: PT_LOAD (0x1)
37# DEFHDR-NEXT:    Offset: 0x0
38# DEFHDR-NEXT:    VirtualAddress: 0x10000000
39# DEFHDR-NEXT:    PhysicalAddress: 0x10000000
40# DEFHDR-NEXT:    FileSize: 521
41# DEFHDR-NEXT:    MemSize: 521
42# DEFHDR-NEXT:    Flags [ (0x1)
43# DEFHDR-NEXT:      PF_X (0x1)
44# DEFHDR-NEXT:    ]
45# DEFHDR-NEXT:    Alignment: 4096
46# DEFHDR-NEXT:  }
47
48.global _start
49_start:
50 nop
51
52.section .foo.1,"a"
53foo1:
54 .long 0
55
56.section .foo.2,"aw"
57foo2:
58 .long 0
59