# RUN: ld64.lld -arch x86_64 %s %p/Inputs/write-final-sections.yaml \
# RUN: -o %t -e _foo
# RUN: llvm-readobj --sections --section-data %t | FileCheck %s

--- !native
defined-atoms:
# For __TEXT, __text (with typeCode)
  - name:            _foo
    scope:           global
    content:         [ 55 ]
# CHECK: Name: __text
# CHECK: Segment: __TEXT
# CHECK: SectionData (
# CHECK-NEXT: 0000: 55
# CHECK-NEXT: )

#  For __TEXT, __const (with typeConstant),
  - type:            constant
    content:         [ 01, 00, 00, 00 ]
#  From __TEXT, __literal4, (with typeLiteral4)
  - scope:           hidden
    type:            const-4-byte
    content:         [ 02, 00, 00, 00 ]
#  From __TEXT, __literal8, (with typeLiteral8)
  - scope:           hidden
    type:            const-8-byte
    content:         [ 03, 00, 00, 00, 00, 00, 00, 00 ]
#  From __TEXT, __literal16, (with typeLiteral16)
  - scope:           hidden
    type:            const-16-byte
    content:         [ 04, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 ]
# CHECK: Name: __const
# CHECK: Segment: __TEXT
# CHECK: SectionData (
# CHECK-NEXT: 0000: 01000000 02000000 03000000 00000000
# CHECK-NEXT: 0010: 04000000 00000000 00000000 00000000
# CHECK-NEXT: )

# For __TEXT, __cstring (with typeCString)
  - scope:           hidden
    type:            c-string
    content:         [ 57, 69, 62, 62, 6C, 65, 00 ]
    merge:           by-content
# CHECK: Name: __cstring
# CHECK: Segment: __TEXT
# CHECK: SectionData (
# CHECK-NEXT: 0000: 57696262 6C6500
# CHECK-NEXT: )

# For __TEXT, __ustring (with typeUTF16String)
  - scope:           hidden
    type:            utf16-string
    content:         [ 05, 00 ]
    merge:           by-content
# CHECK: Name: __ustring
# CHECK: Segment: __TEXT
# CHECK: SectionData (
# CHECK-NEXT: 0000: 0500
# CHECK-NEXT: )

#  For __TEXT, __gcc_except_tab, (with typeLSDA)
  - name:            GCC_except_table0
    type:            unwind-lsda
    content:         [ 06, 00 ]
# CHECK: Name: __gcc_except_tab
# CHECK: Segment: __TEXT
# CHECK: SectionData (
# CHECK-NEXT: 0000: 0600
# CHECK-NEXT: )

#  For __TEXT, __eh_frame, (with typeCFI)
  - name:            LCIE
    type:            unwind-cfi
    content:         [ 14, 00, 00, 00, 00, 00, 00, 00, 01, 7A, 52, 00,
                       01, 78, 10, 01, 10, 0C, 07, 08, 90, 01, 00, 00 ]

  - type:            unwind-cfi
    content:         [ 24, 00, 00, 00, 1C, 00, 00, 00, C8, FE, FF, FF,
                       FF, FF, FF, FF, 01, 00, 00, 00, 00, 00, 00, 00,
                       00, 41, 0E, 10, 86, 02, 43, 0D, 06, 00, 00, 00,
                       00, 00, 00, 00 ]
    references:
      - kind:            unwindFDEToFunction
        offset:          8
        target:          _foo
      - kind:            negDelta32
        offset:          4
        target:          LCIE

# CHECK: Name: __eh_frame
# CHECK: Segment: __TEXT
# CHECK: SectionData (
# CHECK-NEXT:      0000: 14000000 00000000 017A5200 01781001
# CHECK-NEXT:      0010: 100C0708 90010000 24000000 1C000000
# CHECK-NEXT:      0020: 70FFFFFF FFFFFFFF 01000000 00000000
# CHECK-NEXT:      0030: 00410E10 8602430D 06000000 00000000
# CHECK-NEXT: )

#  For __DATA, __data, (with typeData)
  - name:            var
    type:            data
    content:         [ 08 ]
# CHECK: Name: __data
# CHECK: Segment: __DATA
# CHECK: SectionData (
# CHECK-NEXT: 0000: 08
# CHECK-NEXT: )

#  For __DATA, __bss (with typeZeroFill)
# FIXME: Attributes & tags of __bss are mostly broken. Should be at end of
#        __DATA, should have size, should have S_ZEROFILL flag.
  - type:            zero-fill
    size:            8
# CHECK: Name: __bss
# CHECK: Segment: __DATA

#  For __DATA, __const, (with typeConstData)
  - type:            const-data
    content:         [ 09, 00, 00, 00 ]
# CHECK: Name: __const
# CHECK: Segment: __DATA
# CHECK: SectionData (
# CHECK-NEXT: 0000: 09000000
# CHECK-NEXT: )

#  For __DATA, __cfstring, (with typeCFString)
  - type:            cfstring
    content:         [ 0A, 00 ]
# CHECK: Name: __cfstring
# CHECK: Segment: __DATA
# CHECK: SectionData (
# CHECK-NEXT: 0000: 0A00
# CHECK-NEXT: )

#  For __DATA, __got (with typeGOT)
  - type:            got
    content:         [ 0B, 00, 00, 00, 00, 00, 00, 00 ]
# CHECK: Name: __got
# CHECK: Segment: __DATA
# CHECK: SectionData (
# CHECK-NEXT: 0000: 0B000000 00000000
# CHECK-NEXT: )


#  For __DATA, __mod_init_func (with typeInitializerPtr)
  - type:            initializer-pointer
    content:         [ 0C, 00, 00, 00, 00, 00, 00, 00 ]
# CHECK: Name: __mod_init_func
# CHECK: Segment: __DATA
# CHECK: SectionData (
# CHECK-NEXT: 0000: 0C000000 00000000
# CHECK-NEXT: )

#  For __DATA, __mod_term_func (with typeTerminatorPointer)
  - type:            terminator-pointer
    content:         [ 0D, 00, 00, 00, 00, 00, 00, 00 ]
# CHECK: Name: __mod_term_func
# CHECK: Segment: __DATA
# CHECK: SectionData (
# CHECK-NEXT: 0000: 0D000000 00000000
# CHECK-NEXT: )

  - type:            compact-unwind
    content:         [ 0E, 00, 00, 00, 00, 00, 00, 00 ]
# CHECK-NOT: Name: __compact_unwind
