# RUN: yaml2obj %s -o %t

# RUN: llvm-objdump --private-headers %t | FileCheck %s --check-prefix=CHECK-ORIGINAL

## Check offset, size and index of text segment command
# CHECK-ORIGINAL:      Load command 1
# CHECK-ORIGINAL-NEXT  cmdsize
# CHECK-ORIGINAL-NEXT  segname __TEXT
# CHECK-ORIGINAL-NEXT  vmaddr
# CHECK-ORIGINAL-NEXT  vmsize
# CHECK-ORIGINAL-NEXT  fileoff 0
# CHECK-ORIGINAL-NEXT  filesize 16384

## Check offset and index of code signature command
# CHECK-ORIGINAL:      Load command 14
# CHECK-ORIGINAL-NEXT: cmd LC_CODE_SIGNATURE
# CHECK-ORIGINAL-NEXT: cmdsize 16
# CHECK-ORIGINAL-NEXT: dataoff 16544
# CHECK-ORIGINAL-NEXT: datasize 280

# RUN: llvm-install-name-tool -prepend_rpath abcd %t

# RUN: llvm-objdump --private-headers %t | FileCheck %s --check-prefix=CHECK-PREPEND
## Verify that the binary contains the new RPATH command, as the first command
# CHECK-PREPEND:         Load command 0
# CHECK-PREPEND-NEXT:    cmd LC_RPATH
# CHECK-PREPEND-NEXT:    cmdsize
# CHECK-PREPEND-NEXT:    path abcd

## Verify the text segment command index increased by 1
# CHECK-PREPEND:      Load command 2
# CHECK-PREPEND-NEXT  cmdsize
# CHECK-PREPEND-NEXT  segname __TEXT
# CHECK-PREPEND-NEXT  vmaddr
# CHECK-PREPEND-NEXT  vmsize
# CHECK-PREPEND-NEXT  fileoff 0
# CHECK-PREPEND-NEXT  filesize 16384

## Verify the code signature command index increased by 1
# CHECK-PREPEND:        Load command 15
# CHECK-PREPEND-NEXT:   cmd LC_CODE_SIGNATURE
# CHECK-PREPEND-NEXT:   cmdsize 16
# CHECK-PREPEND-NEXT:   dataoff 16544
# CHECK-PREPEND-NEXT:   datasize 320

## Verify the new signature is valid
# RUN: %python %p/Inputs/code-signature-check.py %t 16544 320 0 16544 | FileCheck %s --check-prefix=CHECK-TEXT-SEGMENT
## Verify the text segment offset and text segment size values included in the signature header are accurate
# CHECK-TEXT-SEGMENT: execSegBase=0, execSegLimit=16384

# RUN: llvm-install-name-tool -delete_rpath abcd %t

# RUN: llvm-objdump --private-headers %t | FileCheck %s --check-prefix=CHECK-REMOVE

## Verify text segment command index returned to orignal
# CHECK-REMOVE:      Load command 1
# CHECK-REMOVE-NEXT  cmdsize
# CHECK-REMOVE-NEXT  segname __TEXT
# CHECK-REMOVE-NEXT  vmaddr
# CHECK-REMOVE-NEXT  vmsize
# CHECK-REMOVE-NEXT  fileoff 0
# CHECK-REMOVE-NEXT  filesize 16384

## Verify text segment command index returned to original
# CHECK-REMOVE:      Load command 14
# CHECK-REMOVE-NEXT: cmd LC_CODE_SIGNATURE
# CHECK-REMOVE-NEXT: cmdsize 16
# CHECK-REMOVE-NEXT: dataoff 16544
# CHECK-REMOVE-NEXT: datasize 320

## Verify the new signature is valid and text segment values are accurate
# RUN: %python %p/Inputs/code-signature-check.py %t 16544 320 0 16544 | FileCheck %s --check-prefix=CHECK-TEXT-SEGMENT

--- !mach-o
FileHeader:
  magic:           0xFEEDFACF
  cputype:         0x1000007
  cpusubtype:      0x3
  filetype:        0x2
  ncmds:           15
  sizeofcmds:      760
  flags:           0x200085
  reserved:        0x0
LoadCommands:
  - cmd:             LC_SEGMENT_64
    cmdsize:         72
    segname:         __PAGEZERO
    vmaddr:          0
    vmsize:          4294967296
    fileoff:         0
    filesize:        0
    maxprot:         0
    initprot:        0
    nsects:          0
    flags:           0
  - cmd:             LC_SEGMENT_64
    cmdsize:         232
    segname:         __TEXT
    vmaddr:          4294967296
    vmsize:          16384
    fileoff:         0
    filesize:        16384
    maxprot:         5
    initprot:        5
    nsects:          2
    flags:           0
    Sections:
      - sectname:        __text
        segname:         __TEXT
        addr:            0x100003FA0
        size:            15
        offset:          0x3FA0
        align:           4
        reloff:          0x0
        nreloc:          0
        flags:           0x80000400
        reserved1:       0x0
        reserved2:       0x0
        reserved3:       0x0
        content:         554889E531C0C745FC000000005DC3
      - sectname:        __unwind_info
        segname:         __TEXT
        addr:            0x100003FB0
        size:            72
        offset:          0x3FB0
        align:           2
        reloff:          0x0
        nreloc:          0
        flags:           0x0
        reserved1:       0x0
        reserved2:       0x0
        reserved3:       0x0
        content:         010000001C000000000000001C000000000000001C00000002000000A03F00003400000034000000B03F00000000000034000000030000000C000100100001000000000000000001
  - cmd:             LC_SEGMENT_64
    cmdsize:         72
    segname:         __LINKEDIT
    vmaddr:          4294983680
    vmsize:          16384
    fileoff:         16384
    filesize:        440
    maxprot:         1
    initprot:        1
    nsects:          0
    flags:           0
  - cmd:             LC_DYLD_INFO_ONLY
    cmdsize:         48
    rebase_off:      0
    rebase_size:     0
    bind_off:        0
    bind_size:       0
    weak_bind_off:   0
    weak_bind_size:  0
    lazy_bind_off:   0
    lazy_bind_size:  0
    export_off:      16384
    export_size:     48
  - cmd:             LC_SYMTAB
    cmdsize:         24
    symoff:          16440
    nsyms:           3
    stroff:          16488
    strsize:         48
  - cmd:             LC_DYSYMTAB
    cmdsize:         80
    ilocalsym:       0
    nlocalsym:       0
    iextdefsym:      0
    nextdefsym:      2
    iundefsym:       2
    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
  - cmd:             LC_LOAD_DYLINKER
    cmdsize:         32
    name:            12
    Content:         '/usr/lib/dyld'
    ZeroPadBytes:    7
  - cmd:             LC_UUID
    cmdsize:         24
    uuid:            42759668-1CBA-3094-8E2D-F01E1A66E815
  - cmd:             LC_BUILD_VERSION
    cmdsize:         32
    platform:        1
    minos:           720896
    sdk:             721664
    ntools:          1
    Tools:
      - tool:            3
        version:         42600704
  - cmd:             LC_SOURCE_VERSION
    cmdsize:         16
    version:         0
  - cmd:             LC_MAIN
    cmdsize:         24
    entryoff:        16288
    stacksize:       0
  - cmd:             LC_LOAD_DYLIB
    cmdsize:         56
    dylib:
      name:            24
      timestamp:       2
      current_version: 84698117
      compatibility_version: 65536
    Content:         '/usr/lib/libSystem.B.dylib'
    ZeroPadBytes:    6
  - cmd:             LC_FUNCTION_STARTS
    cmdsize:         16
    dataoff:         16432
    datasize:        8
  - cmd:             LC_DATA_IN_CODE
    cmdsize:         16
    dataoff:         16440
    datasize:        0
  - cmd:             LC_CODE_SIGNATURE
    cmdsize:         16
    dataoff:         16544
    datasize:        280
LinkEditData:
  ExportTrie:
    TerminalSize:    0
    NodeOffset:      0
    Name:            ''
    Flags:           0x0
    Address:         0x0
    Other:           0x0
    ImportName:      ''
    Children:
      - TerminalSize:    0
        NodeOffset:      5
        Name:            _
        Flags:           0x0
        Address:         0x0
        Other:           0x0
        ImportName:      ''
        Children:
          - TerminalSize:    2
            NodeOffset:      33
            Name:            _mh_execute_header
            Flags:           0x0
            Address:         0x0
            Other:           0x0
            ImportName:      ''
          - TerminalSize:    3
            NodeOffset:      37
            Name:            main
            Flags:           0x0
            Address:         0x3FA0
            Other:           0x0
            ImportName:      ''
  NameList:
    - n_strx:          2
      n_type:          0xF
      n_sect:          1
      n_desc:          16
      n_value:         4294967296
    - n_strx:          22
      n_type:          0xF
      n_sect:          1
      n_desc:          0
      n_value:         4294983584
    - n_strx:          28
      n_type:          0x1
      n_sect:          0
      n_desc:          256
      n_value:         0
  StringTable:
    - ' '
    - __mh_execute_header
    - _main
    - dyld_stub_binder
    - ''
    - ''
    - ''
...
