brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.4 KiB · 69132ea Raw
296 lines · plain
1## This test verifies that llvm-objcopy copies an executable properly. It2## uses llvm-readobj instead of cmp because some parts of the object3## (e.g., the string table) are not identical; the output file is correct but4## some offsets differ from the input file.5# RUN: yaml2obj %s -o %t6# RUN: llvm-objcopy %t %t27# RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s8 9--- !mach-o10FileHeader:11  magic:           0xFEEDFACF12  cputype:         0x0100000713  cpusubtype:      0x8000000314  filetype:        0x0000000215  ncmds:           1516  sizeofcmds:      97617  flags:           0x0020008518  reserved:        0x0000000019LoadCommands:20  - cmd:             LC_SEGMENT_6421    cmdsize:         7222    segname:         __PAGEZERO23    vmaddr:          024    vmsize:          429496729625    fileoff:         026    filesize:        027    maxprot:         028    initprot:        029    nsects:          030    flags:           031  - cmd:             LC_SEGMENT_6432    cmdsize:         23233    segname:         __TEXT34    vmaddr:          429496729635    vmsize:          409636    fileoff:         037    filesize:        409638    maxprot:         739    initprot:        540    nsects:          241    flags:           042    Sections:43      - sectname:        __text44        segname:         __TEXT45        addr:            0x0000000100000F7046        size:            5847        offset:          0x00000F7048        align:           449        reloff:          0x0000000050        nreloc:          051        flags:           0x8000040052        reserved1:       0x0000000053        reserved2:       0x0000000054        reserved3:       0x0000000055      - sectname:        __unwind_info56        segname:         __TEXT57        addr:            0x0000000100000FAC58        size:            7259        offset:          0x00000FAC60        align:           261        reloff:          0x0000000062        nreloc:          063        flags:           0x0000000064        reserved1:       0x0000000065        reserved2:       0x0000000066        reserved3:       0x0000000067  - cmd:             LC_SEGMENT_6468    cmdsize:         23269    segname:         __DATA70    vmaddr:          429497139271    vmsize:          409672    fileoff:         409673    filesize:        409674    maxprot:         775    initprot:        376    nsects:          277    flags:           078    Sections:79      - sectname:        __data80        segname:         __DATA81        addr:            0x000000010000100082        size:            483        offset:          0x0000100084        align:           285        reloff:          0x0000000086        nreloc:          087        flags:           0x0000000088        reserved1:       0x0000000089        reserved2:       0x0000000090        reserved3:       0x0000000091      - sectname:        __common92        segname:         __DATA93        addr:            0x000000010000100494        size:            495        offset:          0x0000000096        align:           297        reloff:          0x0000000098        nreloc:          099        flags:           0x00000001100        reserved1:       0x00000000101        reserved2:       0x00000000102        reserved3:       0x00000000103  - cmd:             LC_SEGMENT_64104    cmdsize:         72105    segname:         __LINKEDIT106    vmaddr:          4294975488107    vmsize:          4096108    fileoff:         8192109    filesize:        232110    maxprot:         7111    initprot:        1112    nsects:          0113    flags:           0114  - cmd:             LC_DYLD_INFO_ONLY115    cmdsize:         48116    rebase_off:      0117    rebase_size:     0118    bind_off:        0119    bind_size:       0120    weak_bind_off:   0121    weak_bind_size:  0122    lazy_bind_off:   0123    lazy_bind_size:  0124    export_off:      8192125    export_size:     72126  - cmd:             LC_SYMTAB127    cmdsize:         24128    symoff:          8272129    nsyms:           6130    stroff:          8368131    strsize:         56132  - cmd:             LC_DYSYMTAB133    cmdsize:         80134    ilocalsym:       0135    nlocalsym:       0136    iextdefsym:      0137    nextdefsym:      5138    iundefsym:       5139    nundefsym:       1140    tocoff:          0141    ntoc:            0142    modtaboff:       0143    nmodtab:         0144    extrefsymoff:    0145    nextrefsyms:     0146    indirectsymoff:  0147    nindirectsyms:   0148    extreloff:       0149    nextrel:         0150    locreloff:       0151    nlocrel:         0152  - cmd:             LC_LOAD_DYLINKER153    cmdsize:         32154    name:            12155    Content:         '/usr/lib/dyld'156    ZeroPadBytes:    7157  - cmd:             LC_UUID158    cmdsize:         24159    uuid:            B6EE4FB7-4E1E-3C7A-80D3-CFBD89DBC0FE160  - cmd:             LC_BUILD_VERSION161    cmdsize:         32162    platform:        1163    minos:           658944164    sdk:             658944165    ntools:          1166    Tools:167      - tool:            3168        version:         29491968169  - cmd:             LC_SOURCE_VERSION170    cmdsize:         16171    version:         0172  - cmd:             LC_LINKER_OPTIMIZATION_HINT173    cmdsize:         16174    dataoff:         0175    datasize:        0176  - cmd:             LC_MAIN177    cmdsize:         24178    entryoff:        3984179    stacksize:       0180  - cmd:             LC_LOAD_DYLIB181    cmdsize:         56182    dylib:183      name:            24184      timestamp:       2185      current_version: 82115073186      compatibility_version: 65536187    Content:         '/usr/lib/libSystem.B.dylib'188    ZeroPadBytes:    6189  - cmd:             LC_FUNCTION_STARTS190    cmdsize:         16191    dataoff:         8264192    datasize:        8193  - cmd:             LC_DATA_IN_CODE194    cmdsize:         16195    dataoff:         8272196    datasize:        0197LinkEditData:198  ExportTrie:199    TerminalSize:    0200    NodeOffset:      0201    Name:            ''202    Flags:           0x0000000000000000203    Address:         0x0000000000000000204    Other:           0x0000000000000000205    ImportName:      ''206    Children:207      - TerminalSize:    0208        NodeOffset:      5209        Name:            _210        Flags:           0x0000000000000000211        Address:         0x0000000000000000212        Other:           0x0000000000000000213        ImportName:      ''214        Children:215          - TerminalSize:    2216            NodeOffset:      44217            Name:            _mh_execute_header218            Flags:           0x0000000000000000219            Address:         0x0000000000000000220            Other:           0x0000000000000000221            ImportName:      ''222          - TerminalSize:    3223            NodeOffset:      48224            Name:            foo225            Flags:           0x0000000000000000226            Address:         0x0000000000000F70227            Other:           0x0000000000000000228            ImportName:      ''229          - TerminalSize:    3230            NodeOffset:      53231            Name:            main232            Flags:           0x0000000000000000233            Address:         0x0000000000000F90234            Other:           0x0000000000000000235            ImportName:      ''236          - TerminalSize:    3237            NodeOffset:      58238            Name:            b239            Flags:           0x0000000000000000240            Address:         0x0000000000001000241            Other:           0x0000000000000000242            ImportName:      ''243          - TerminalSize:    3244            NodeOffset:      63245            Name:            a246            Flags:           0x0000000000000000247            Address:         0x0000000000001004248            Other:           0x0000000000000000249            ImportName:      ''250  NameList:251    - n_strx:          2252      n_type:          0x0F253      n_sect:          1254      n_desc:          16255      n_value:         4294967296256    - n_strx:          22257      n_type:          0x0F258      n_sect:          4259      n_desc:          0260      n_value:         4294971396261    - n_strx:          25262      n_type:          0x0F263      n_sect:          3264      n_desc:          0265      n_value:         4294971392266    - n_strx:          28267      n_type:          0x0F268      n_sect:          1269      n_desc:          0270      n_value:         4294971248271    - n_strx:          33272      n_type:          0x0F273      n_sect:          1274      n_desc:          0275      n_value:         4294971280276    - n_strx:          39277      n_type:          0x01278      n_sect:          0279      n_desc:          256280      n_value:         0281  StringTable:282    - ' '283    - __mh_execute_header284    - _a285    - _b286    - _foo287    - _main288    - dyld_stub_binder289...290 291# CHECK: FileType: Executable (0x2)292# CHECK: Name: __text293# CHECK: Name: __unwind_info294# CHECK: Name: __data295# CHECK: Name: __common296