# RUN: yaml2obj %s | obj2yaml | FileCheck %s

--- !mach-o
FileHeader:
  magic:           0xFEEDFACE
  cputype:         0x00000007
  cpusubtype:      0x00000003
  filetype:        0x00000001
  ncmds:           4
  sizeofcmds:      660
  flags:           0x00002000
LoadCommands:
  - cmd:             LC_SEGMENT
    cmdsize:         532
    segname:         ''
    vmaddr:          0
    vmsize:          175
    fileoff:         688
    filesize:        160
    maxprot:         7
    initprot:        7
    nsects:          7
    flags:           0
    Sections:
      - sectname:        __text
        segname:         __TEXT
        addr:            0x0000000000000000
        size:            72
        offset:          0x000002B0
        align:           4
        reloff:          0x00000350
        nreloc:          0
        flags:           0x80000400
        reserved1:       0x00000000
        reserved2:       0x00000000
        reserved3:       0x00000000
      - sectname:        __data
        segname:         __DATA
        addr:            0x0000000000000048
        size:            4
        offset:          0x000002F8
        align:           2
        reloff:          0x00000000
        nreloc:          0
        flags:           0x00000000
        reserved1:       0x00000000
        reserved2:       0x00000000
        reserved3:       0x00000000
      - sectname:        __bss
        segname:         __DATA
        addr:            0x00000000000000A0
        size:            8
        offset:          0x00000000
        align:           2
        reloff:          0x00000000
        nreloc:          0
        flags:           0x00000001
        reserved1:       0x00000000
        reserved2:       0x00000000
        reserved3:       0x00000000
      - sectname:        __thread_bss
        segname:         __DATA
        addr:            0x00000000000000A8
        size:            7
        offset:          0x00000000
        align:           0
        reloff:          0x00000000
        nreloc:          0
        flags:           0x00000012
        reserved1:       0x00000000
        reserved2:       0x00000000
        reserved3:       0x00000000
      - sectname:        __thread_vars
        segname:         __DATA
        addr:            0x000000000000004C
        size:            12
        offset:          0x000002FC
        align:           0
        reloff:          0x00000388
        nreloc:          0
        flags:           0x00000013
        reserved1:       0x00000000
        reserved2:       0x00000000
        reserved3:       0x00000000
  - cmd:             LC_BUILD_VERSION
    cmdsize:         24
    platform:        1
    minos:           658944
    sdk:             0
    ntools:          0
  - cmd:             LC_SYMTAB
    cmdsize:         24
    symoff:          928
    nsyms:           7
    stroff:          1012
    strsize:         48
  - cmd:             LC_DYSYMTAB
    cmdsize:         80
    ilocalsym:       0
    nlocalsym:       4
    iextdefsym:      4
    nextdefsym:      2
    iundefsym:       6
    nundefsym:       1
    tocoff:          0
    ntoc:            0
    modtaboff:       0
    nmodtab:         0
    extrefsymoff:    0
    nextrefsyms:     0
    indirectsymoff:  0
    nindirectsyms:   0
    extreloff:       0
    nextrel:         0
    locreloff:       0
    nlocrel:         0
LinkEditData:
  NameList:
    - n_strx:          44
      n_type:          0x0E
      n_sect:          2
      n_desc:          0
      n_value:         72
    - n_strx:          41
      n_type:          0x0E
      n_sect:          3
      n_desc:          0
      n_value:         160
    - n_strx:          38
      n_type:          0x0E
      n_sect:          3
      n_desc:          0
      n_value:         164
    - n_strx:          1
      n_type:          0x0E
      n_sect:          4
      n_desc:          0
      n_value:         168
    - n_strx:          35
      n_type:          0x0F
      n_sect:          5
      n_desc:          0
      n_value:         76
    - n_strx:          29
      n_type:          0x0F
      n_sect:          1
      n_desc:          0
      n_value:         0
    - n_strx:          13
      n_type:          0x01
      n_sect:          0
      n_desc:          0
      n_value:         0
  StringTable:
    - ''
    - '_d$tlv$init'
    - __tlv_bootstrap
    - _main
    - _d
    - _c
    - _b
    - _a
    - ''
...

# CHECK:           - sectname:        __text
# CHECK-NEXT:        segname:         __TEXT
# CHECK-NEXT:        addr:            0x0
# CHECK-NEXT:        size:            72
# CHECK-NEXT:        offset:          0x2B0
# CHECK-NEXT:        align:           4
# CHECK-NEXT:        reloff:          0x350
# CHECK-NEXT:        nreloc:          0
# CHECK-NEXT:        flags:           0x80000400
# CHECK-NEXT:        reserved1:       0x0
# CHECK-NEXT:        reserved2:       0x0
# CHECK-NEXT:        reserved3:       0x0
# CHECK-NEXT:        content:         {{(DEADBEEF|EFBEADDE){18}$}}
# CHECK-NEXT:      - sectname:        __data
# CHECK-NEXT:        segname:         __DATA
# CHECK-NEXT:        addr:            0x48
# CHECK-NEXT:        size:            4
# CHECK-NEXT:        offset:          0x2F8
# CHECK-NEXT:        align:           2
# CHECK-NEXT:        reloff:          0x0
# CHECK-NEXT:        nreloc:          0
# CHECK-NEXT:        flags:           0x0
# CHECK-NEXT:        reserved1:       0x0
# CHECK-NEXT:        reserved2:       0x0
# CHECK-NEXT:        reserved3:       0x0
# CHECK-NEXT:        content:         {{(DEADBEEF|EFBEADDE)$}}
# CHECK-NEXT:      - sectname:        __bss
# CHECK-NEXT:        segname:         __DATA
# CHECK-NEXT:        addr:            0xA0
# CHECK-NEXT:        size:            8
# CHECK-NEXT:        offset:          0x0
# CHECK-NEXT:        align:           2
# CHECK-NEXT:        reloff:          0x0
# CHECK-NEXT:        nreloc:          0
# CHECK-NEXT:        flags:           0x1
# CHECK-NEXT:        reserved1:       0x0
# CHECK-NEXT:        reserved2:       0x0
# CHECK-NEXT:        reserved3:       0x0
# CHECK-NEXT:      - sectname:        __thread_bss
# CHECK-NEXT:        segname:         __DATA
# CHECK-NEXT:        addr:            0xA8
# CHECK-NEXT:        size:            7
# CHECK-NEXT:        offset:          0x0
# CHECK-NEXT:        align:           0
# CHECK-NEXT:        reloff:          0x0
# CHECK-NEXT:        nreloc:          0
# CHECK-NEXT:        flags:           0x12
# CHECK-NEXT:        reserved1:       0x0
# CHECK-NEXT:        reserved2:       0x0
# CHECK-NEXT:        reserved3:       0x0
# CHECK-NEXT:      - sectname:        __thread_vars
# CHECK-NEXT:        segname:         __DATA
# CHECK-NEXT:        addr:            0x4C
# CHECK-NEXT:        size:            12
# CHECK-NEXT:        offset:          0x2FC
# CHECK-NEXT:        align:           0
# CHECK-NEXT:        reloff:          0x388
# CHECK-NEXT:        nreloc:          0
# CHECK-NEXT:        flags:           0x13
# CHECK-NEXT:        reserved1:       0x0
# CHECK-NEXT:        reserved2:       0x0
# CHECK-NEXT:        reserved3:       0x0
# CHECK-NEXT:        content:         {{.*}}
