# REQUIRES: x86
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t

# RUN: ld.lld %t -o %t1
# RUN: llvm-readobj --program-headers %t1 | FileCheck --check-prefix=ROSEGMENT %s
# RUN: ld.lld --no-rosegment --rosegment %t -o - | cmp - %t1
# RUN: ld.lld --omagic --no-omagic %t -o - | cmp - %t1

# ROSEGMENT:      ProgramHeader {
# ROSEGMENT:        Type: PT_LOAD
# ROSEGMENT-NEXT:    Offset: 0x0
# ROSEGMENT-NEXT:    VirtualAddress:
# ROSEGMENT-NEXT:    PhysicalAddress:
# ROSEGMENT-NEXT:    FileSize:
# ROSEGMENT-NEXT:    MemSize:
# ROSEGMENT-NEXT:    Flags [
# ROSEGMENT-NEXT:      PF_R
# ROSEGMENT-NEXT:    ]
# ROSEGMENT-NEXT:    Alignment: 4096
# ROSEGMENT-NEXT:  }
# ROSEGMENT-NEXT:  ProgramHeader {
# ROSEGMENT-NEXT:    Type: PT_LOAD
# ROSEGMENT-NEXT:    Offset: 0x15C
# ROSEGMENT-NEXT:    VirtualAddress:
# ROSEGMENT-NEXT:    PhysicalAddress:
# ROSEGMENT-NEXT:    FileSize:
# ROSEGMENT-NEXT:    MemSize:
# ROSEGMENT-NEXT:    Flags [
# ROSEGMENT-NEXT:      PF_R
# ROSEGMENT-NEXT:      PF_X
# ROSEGMENT-NEXT:    ]
# ROSEGMENT-NEXT:    Alignment: 4096
# ROSEGMENT-NEXT:  }
# ROSEGMENT-NEXT:  ProgramHeader {
# ROSEGMENT-NEXT:    Type: PT_LOAD
# ROSEGMENT-NEXT:    Offset: 0x15E
# ROSEGMENT-NEXT:    VirtualAddress:
# ROSEGMENT-NEXT:    PhysicalAddress:
# ROSEGMENT-NEXT:    FileSize: 1
# ROSEGMENT-NEXT:    MemSize: 1
# ROSEGMENT-NEXT:    Flags [
# ROSEGMENT-NEXT:      PF_R
# ROSEGMENT-NEXT:      PF_W
# ROSEGMENT-NEXT:    ]
# ROSEGMENT-NEXT:    Alignment: 4096
# ROSEGMENT-NEXT:  }

# RUN: ld.lld --no-rosegment %t -o %t2
# RUN: llvm-readobj --program-headers %t2 | FileCheck --check-prefix=NOROSEGMENT %s

# NOROSEGMENT:     ProgramHeader {
# NOROSEGMENT:       Type: PT_LOAD
# NOROSEGMENT-NEXT:   Offset: 0x0
# NOROSEGMENT-NEXT:   VirtualAddress:
# NOROSEGMENT-NEXT:   PhysicalAddress:
# NOROSEGMENT-NEXT:   FileSize:
# NOROSEGMENT-NEXT:   MemSize:
# NOROSEGMENT-NEXT:   Flags [
# NOROSEGMENT-NEXT:     PF_R
# NOROSEGMENT-NEXT:     PF_X
# NOROSEGMENT-NEXT:   ]
# NOROSEGMENT-NEXT:   Alignment: 4096
# NOROSEGMENT-NEXT: }
# NOROSEGMENT-NEXT: ProgramHeader {
# NOROSEGMENT-NEXT:   Type: PT_LOAD
# NOROSEGMENT-NEXT:   Offset: 0x126
# NOROSEGMENT-NEXT:   VirtualAddress:
# NOROSEGMENT-NEXT:   PhysicalAddress:
# NOROSEGMENT-NEXT:   FileSize:
# NOROSEGMENT-NEXT:   MemSize:
# NOROSEGMENT-NEXT:   Flags [
# NOROSEGMENT-NEXT:     PF_R
# NOROSEGMENT-NEXT:     PF_W
# NOROSEGMENT-NEXT:   ]
# NOROSEGMENT-NEXT:   Alignment: 4096
# NOROSEGMENT-NEXT: }
# NOROSEGMENT-NEXT: ProgramHeader {
# NOROSEGMENT-NEXT:   Type: PT_GNU_STACK

# RUN: ld.lld -N %t -o %t3
# RUN: llvm-readobj --program-headers %t3 | FileCheck --check-prefix=OMAGIC %s
# RUN: ld.lld --omagic %t -o %t3
# RUN: llvm-readobj --program-headers %t3 | FileCheck --check-prefix=OMAGIC %s

# OMAGIC:     ProgramHeader {
# OMAGIC:      Type: PT_LOAD
# OMAGIC-NEXT:   Offset: 0xB0
# OMAGIC-NEXT:   VirtualAddress:
# OMAGIC-NEXT:   PhysicalAddress:
# OMAGIC-NEXT:   FileSize:
# OMAGIC-NEXT:   MemSize:
# OMAGIC-NEXT:   Flags [
# OMAGIC-NEXT:     PF_R
# OMAGIC-NEXT:     PF_W
# OMAGIC-NEXT:     PF_X
# OMAGIC-NEXT:   ]
# OMAGIC-NEXT:   Alignment: 4
# OMAGIC-NEXT: }
# OMAGIC-NEXT: ProgramHeader {
# OMAGIC-NEXT:   Type: PT_GNU_STACK

# RUN: ld.lld -n %t -o %t4
# RUN: llvm-readobj --program-headers %t4 | FileCheck --check-prefix=NMAGIC %s
# RUN: ld.lld --nmagic %t -o %t4
# RUN: llvm-readobj --program-headers %t4 | FileCheck --check-prefix=NMAGIC %s

# NMAGIC:   ProgramHeader {
# NMAGIC-NEXT:     Type: PT_LOAD
# NMAGIC-NEXT:     Offset: 0x120
# NMAGIC-NEXT:     VirtualAddress:
# NMAGIC-NEXT:     PhysicalAddress:
# NMAGIC-NEXT:     FileSize: 1
# NMAGIC-NEXT:     MemSize: 1
# NMAGIC-NEXT:     Flags [
# NMAGIC-NEXT:       PF_R
# NMAGIC-NEXT:     ]
# NMAGIC-NEXT:     Alignment: 1
# NMAGIC-NEXT:   }
# NMAGIC-NEXT:   ProgramHeader {
# NMAGIC-NEXT:     Type: PT_LOAD
# NMAGIC-NEXT:     Offset: 0x124
# NMAGIC-NEXT:     VirtualAddress:
# NMAGIC-NEXT:     PhysicalAddress:
# NMAGIC-NEXT:     FileSize: 2
# NMAGIC-NEXT:     MemSize: 2
# NMAGIC-NEXT:     Flags [
# NMAGIC-NEXT:       PF_R
# NMAGIC-NEXT:       PF_X
# NMAGIC-NEXT:     ]
# NMAGIC-NEXT:     Alignment: 4
# NMAGIC-NEXT:   }
# NMAGIC-NEXT:   ProgramHeader {
# NMAGIC-NEXT:     Type: PT_LOAD (0x1)
# NMAGIC-NEXT:     Offset: 0x126
# NMAGIC-NEXT:     VirtualAddress:
# NMAGIC-NEXT:     PhysicalAddress:
# NMAGIC-NEXT:     FileSize: 1
# NMAGIC-NEXT:     MemSize: 1
# NMAGIC-NEXT:     Flags [
# NMAGIC-NEXT:       PF_R
# NMAGIC-NEXT:       PF_W
# NMAGIC-NEXT:     ]
# NMAGIC-NEXT:     Alignment: 1
# NMAGIC-NEXT:   }

.global _start
_start:
 nop

.section .ro,"a"
nop

.section .rw,"aw"
nop

.section .rx,"ax"
nop
