rebase_opcode.yaml 2.5 KB
# RUN: yaml2obj %s | obj2yaml | FileCheck %s

--- !mach-o
FileHeader:      
  magic:           0xFEEDFACF
  cputype:         0x01000007
  cpusubtype:      0x80000003
  filetype:        0x00000002
  ncmds:           4
  sizeofcmds:      224
  flags:           0x00218085
  reserved:        0x00000000
LoadCommands:    
  - cmd:             LC_SEGMENT_64
    cmdsize:         72
    segname:         __LINKEDIT
    vmaddr:          4294979584
    vmsize:          4096
    fileoff:         1024
    filesize:        2508
    maxprot:         7
    initprot:        1
    nsects:          0
    flags:           0
  - cmd:             LC_DYLD_INFO_ONLY
    cmdsize:         48
    rebase_off:      1024
    rebase_size:     8
    bind_off:        1032
    bind_size:       96
    weak_bind_off:   0
    weak_bind_size:  0
    lazy_bind_off:   1128
    lazy_bind_size:  624
    export_off:      1752
    export_size:     48
  - cmd:             LC_SYMTAB
    cmdsize:         24
    symoff:          1816
    nsyms:           30
    stroff:          2436
    strsize:         1096
  - cmd:             LC_DYSYMTAB
    cmdsize:         80
    ilocalsym:       0
    nlocalsym:       9
    iextdefsym:      9
    nextdefsym:      2
    iundefsym:       11
    nundefsym:       19
    tocoff:          0
    ntoc:            0
    modtaboff:       0
    nmodtab:         0
    extrefsymoff:    0
    nextrefsyms:     0
    indirectsymoff:  2296
    nindirectsyms:   35
    extreloff:       0
    nextrel:         0
    locreloff:       0
    nlocrel:         0
LinkEditData:    
  RebaseOpcodes:   
    - Opcode:          REBASE_OPCODE_SET_TYPE_IMM
      Imm:             1
    - Opcode:          REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB
      Imm:             2
      ExtraData:       
        - 0x0000000000000028
    - Opcode:          REBASE_OPCODE_DO_REBASE_ULEB_TIMES
      Imm:             0
      ExtraData:       
        - 0x000000000000000F
    - Opcode:          REBASE_OPCODE_DONE
      Imm:             0
...

#CHECK: LinkEditData:    
#CHECK:   RebaseOpcodes:   
#CHECK:     - Opcode:          REBASE_OPCODE_SET_TYPE_IMM
#CHECK:       Imm:             1
#CHECK:     - Opcode:          REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB
#CHECK:       Imm:             2
#CHECK:       ExtraData:       [ 0x0000000000000028 ]
#CHECK:     - Opcode:          REBASE_OPCODE_DO_REBASE_ULEB_TIMES
#CHECK:       Imm:             0
#CHECK:       ExtraData:       [ 0x000000000000000F ]
#CHECK:     - Opcode:          REBASE_OPCODE_DONE
#CHECK:       Imm:             0