# This test has a subtle purpose. Because of the specifics of the layout
# algorithm if we're not careful cycles can occur when we resolve the order
# that we should layout segments in. In this test we're making sure that the
# PT_LOAD segment won't set the PT_NOTE segment as the first to be laid out
# while the PT_NOTE segment sets the PT_LOAD load to be the first to be laid
# out. This problem becomes visible if the layout of the file changes due to
# the removal of a section. We use -O binary here because removing a section
# in this way won't cause the location of the PT_LOAD segment to change if we
# don't.

# RUN: yaml2obj %s -o %t
# RUN: llvm-objcopy -R .note -O binary %t %t2
# RUN: od -Ax -t x1 %t2 | FileCheck %s

!ELF
FileHeader:
  Class:           ELFCLASS64
  Data:            ELFDATA2LSB
  Type:            ET_EXEC
  Machine:         EM_X86_64
Sections:
  - Name:            .note
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC ]
    Address:         0x1000
    AddressAlign:    0x1000
    Content:         "32323232"
    Size:            32
  - Name:            .rodata
    Flags:           [ SHF_ALLOC ]
    Type:            SHT_PROGBITS
    Address:         0x1020
    Size:            4064
    Content:         "DEADBEEF"
ProgramHeaders:
  - Type: PT_LOAD
    Flags: [ PF_R ]
    VAddr: 0x1000
    PAddr: 0x1000
    Sections:
      - Section: .note
      - Section: .rodata
  - Type: PT_NOTE
    Flags: [ PF_R ]
    VAddr: 0x1000
    PAddr: 0x1000
    Sections:
      - Section: .note

# CHECK: 000000 de ad be ef
