brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.8 KiB · b9d0cae Raw
185 lines · yaml
1# Test that obj2yaml + yaml2obj can round-trip mach-o executables with2#  raw __LINKEDIT segments.3#4# RUN: yaml2obj %s | obj2yaml --raw-segment=data --raw-segment=linkedit | FileCheck %s5#6# This file was produced using:7#   echo "int ext;" > a.c8#   xcrun --sdk iphoneos clang -target arm64-apple-ios15.1 -o a.o a.c -c9#   xcrun --sdk iphoneos clang -target arm64-apple-ios15.1 -dynamiclib a.o -o liba.dylib -install_name @executable_path/liba.dylib10#   echo "extern int ext;" > b.c11#   echo "int padding;" >> b.c12#   echo "int *p = &ext + 4;" >> b.c13#   xcrun --sdk iphoneos clang -target arm64-apple-ios15.1 -o b.o b.c -c14#   xcrun --sdk iphoneos clang -target arm64-apple-ios15.1 -dynamiclib b.o -o libfixups.dylib -install_name @executable_path/libfixups.dylib -L. -la15#16# CHECK:      - sectname:        __data17# CHECK:        segname:         __DATA18# CHECK:        content:         '0000001000000080'19# CHECK: __LINKEDIT:      0000000020000000480000004C000000010000000100000000000000000000000300000000000000100000000000000018000000004006000040000000000000000000000100000001020000005F6578740000000000000000015F700006040080800100000000000000000000000000020000000F02000000400000000000000500000001000001000000000000000020005F70005F6578740000000000000020 21--- !mach-o22FileHeader:23  magic:           0xFEEDFACF24  cputype:         0x100000C25  cpusubtype:      0x026  filetype:        0x627  ncmds:           1628  sizeofcmds:      81629  flags:           0x10008530  reserved:        0x031LoadCommands:32  - cmd:             LC_SEGMENT_6433    cmdsize:         15234    segname:         __TEXT35    vmaddr:          036    vmsize:          1638437    fileoff:         038    filesize:        1638439    maxprot:         540    initprot:        541    nsects:          142    flags:           043    Sections:44      - sectname:        __text45        segname:         __TEXT46        addr:            0x400047        size:            048        offset:          0x400049        align:           050        reloff:          0x051        nreloc:          052        flags:           0x8000040053        reserved1:       0x054        reserved2:       0x055        reserved3:       0x056        content:         ''57  - cmd:             LC_SEGMENT_6458    cmdsize:         15259    segname:         __DATA60    vmaddr:          1638461    vmsize:          1638462    fileoff:         1638463    filesize:        1638464    maxprot:         365    initprot:        366    nsects:          167    flags:           068    Sections:69      - sectname:        __data70        segname:         __DATA71        addr:            0x400072        size:            873        offset:          0x400074        align:           375        reloff:          0x076        nreloc:          077        flags:           0x078        reserved1:       0x079        reserved2:       0x080        reserved3:       0x081        content:         '0000001000000080'82  - cmd:             LC_SEGMENT_6483    cmdsize:         7284    segname:         __LINKEDIT85    vmaddr:          3276886    vmsize:          1638487    fileoff:         3276888    filesize:        16089    maxprot:         190    initprot:        191    nsects:          092    flags:           093  - cmd:             LC_ID_DYLIB94    cmdsize:         6495    dylib:96      name:            2497      timestamp:       198      current_version: 099      compatibility_version: 0100    Content:         '@executable_path/libfixups.dylib'101    ZeroPadBytes:    8102  - cmd:             LC_DYLD_CHAINED_FIXUPS103    cmdsize:         16104    dataoff:         32768105    datasize:        88106  - cmd:             LC_DYLD_EXPORTS_TRIE107    cmdsize:         16108    dataoff:         32856109    datasize:        16110  - cmd:             LC_SYMTAB111    cmdsize:         24112    symoff:          32880113    nsyms:           2114    stroff:          32912115    strsize:         16116  - cmd:             LC_DYSYMTAB117    cmdsize:         80118    ilocalsym:       0119    nlocalsym:       0120    iextdefsym:      0121    nextdefsym:      1122    iundefsym:       1123    nundefsym:       1124    tocoff:          0125    ntoc:            0126    modtaboff:       0127    nmodtab:         0128    extrefsymoff:    0129    nextrefsyms:     0130    indirectsymoff:  0131    nindirectsyms:   0132    extreloff:       0133    nextrel:         0134    locreloff:       0135    nlocrel:         0136  - cmd:             LC_UUID137    cmdsize:         24138    uuid:            56F7BCE0-C1A7-38E3-A90D-742D8E3D5FA9139  - cmd:             LC_BUILD_VERSION140    cmdsize:         32141    platform:        2142    minos:           983296143    sdk:             983552144    ntools:          1145    Tools:146      - tool:            3147        version:         46596096148  - cmd:             LC_SOURCE_VERSION149    cmdsize:         16150    version:         0151  - cmd:             LC_ENCRYPTION_INFO_64152    cmdsize:         24153    cryptoff:        16384154    cryptsize:       0155    cryptid:         0156    pad:             0157  - cmd:             LC_LOAD_DYLIB158    cmdsize:         56159    dylib:160      name:            24161      timestamp:       2162      current_version: 0163      compatibility_version: 0164    Content:         '@executable_path/liba.dylib'165    ZeroPadBytes:    5166  - cmd:             LC_LOAD_DYLIB167    cmdsize:         56168    dylib:169      name:            24170      timestamp:       2171      current_version: 85917696172      compatibility_version: 65536173    Content:         '/usr/lib/libSystem.B.dylib'174    ZeroPadBytes:    6175  - cmd:             LC_FUNCTION_STARTS176    cmdsize:         16177    dataoff:         32872178    datasize:        8179  - cmd:             LC_DATA_IN_CODE180    cmdsize:         16181    dataoff:         32880182    datasize:        0183__LINKEDIT:      0000000020000000480000004C000000010000000100000000000000000000000300000000000000100000000000000018000000004006000040000000000000000000000100000001020000005F6578740000000000000000015F700006040080800100000000000000000000000000020000000F02000000400000000000000500000001000001000000000000000020005F70005F65787400000000000000184...185