| ; RUN: rm -rf %t |
| ; RUN: split-file %s %t |
| ; RUN: yaml2obj %t/EHTypes.yaml -o %t/EHTypes |
| ; RUN: llvm-readtapi -stubify %t/EHTypes -o %t/EHTypes.tbd 2>&1 | FileCheck %s --allow-empty |
| ; RUN: llvm-readtapi -compare %t/EHTypes.tbd %t/expected.tbd 2>&1 | FileCheck %s --allow-empty |
| |
| ; CHECK-NOT: error: |
| ; CHECK-NOT: warning: |
| |
| ;--- expected.tbd |
| { |
| "main_library": { |
| "exported_symbols": [ |
| { |
| "data": { |
| "objc_class": [ |
| "Custom" |
| ], |
| "weak": [ |
| "_OBJC_EHTYPE_$_NSObject" |
| ] |
| } |
| } |
| ], |
| "flags": [ |
| { |
| "attributes": [ |
| "not_app_extension_safe" |
| ] |
| } |
| ], |
| "install_names": [ |
| { |
| "name": "/System/Library/Frameworks/EHTypes.framework/Versions/A/EHTypes" |
| } |
| ], |
| "target_info": [ |
| { |
| "min_deployment": "13", |
| "target": "x86_64-macos" |
| } |
| ] |
| }, |
| "tapi_tbd_version": 5 |
| } |
| |
| ;--- EHTypes.yaml |
| --- !mach-o |
| FileHeader: |
| magic: 0xFEEDFACF |
| cputype: 0x1000007 |
| cpusubtype: 0x3 |
| filetype: 0x6 |
| ncmds: 16 |
| sizeofcmds: 2208 |
| flags: 0x118085 |
| reserved: 0x0 |
| LoadCommands: |
| - cmd: LC_SEGMENT_64 |
| cmdsize: 712 |
| segname: __TEXT |
| vmaddr: 0 |
| vmsize: 12288 |
| fileoff: 0 |
| filesize: 12288 |
| maxprot: 5 |
| initprot: 5 |
| nsects: 8 |
| flags: 0 |
| Sections: |
| - sectname: __text |
| segname: __TEXT |
| addr: 0x1CC0 |
| size: 84 |
| offset: 0x1CC0 |
| align: 0 |
| reloff: 0x0 |
| nreloc: 0 |
| flags: 0x80000400 |
| reserved1: 0x0 |
| reserved2: 0x0 |
| reserved3: 0x0 |
| content: 554889E55350488D3D4B13000031C0E84C0000004883C4085B5DC34889C383FA0175294889DFE83B000000488D3D4613000031C0E8270000004883C4085B5DE9160000004889C3E80E0000004889DFE800000000 |
| - sectname: __stubs |
| segname: __TEXT |
| addr: 0x1D14 |
| size: 24 |
| offset: 0x1D14 |
| align: 2 |
| reloff: 0x0 |
| nreloc: 0 |
| flags: 0x80000408 |
| reserved1: 0x3 |
| reserved2: 0x6 |
| reserved3: 0x0 |
| content: FF25E6220000FF25E8220000FF25EA220000FF25EC220000 |
| - sectname: __stub_helper |
| segname: __TEXT |
| addr: 0x1D2C |
| size: 56 |
| offset: 0x1D2C |
| align: 2 |
| reloff: 0x0 |
| nreloc: 0 |
| flags: 0x80000400 |
| reserved1: 0x0 |
| reserved2: 0x0 |
| reserved3: 0x0 |
| content: 4C8D1D052300004153FF25D5120000906800000000E9E6FFFFFF6816000000E9DCFFFFFF682C000000E9D2FFFFFF6839000000E9C8FFFFFF |
| - sectname: __gcc_except_tab |
| segname: __TEXT |
| addr: 0x1D64 |
| size: 28 |
| offset: 0x1D64 |
| align: 2 |
| reloff: 0x0 |
| nreloc: 0 |
| flags: 0x0 |
| reserved1: 0x0 |
| reserved2: 0x0 |
| reserved3: 0x0 |
| content: FF9B190110060E1B01141700002B0E4400391B000001000084120000 |
| - sectname: __cstring |
| segname: __TEXT |
| addr: 0x1D80 |
| size: 44 |
| offset: 0x1D80 |
| align: 0 |
| reloff: 0x0 |
| nreloc: 0 |
| flags: 0x2 |
| reserved1: 0x0 |
| reserved2: 0x0 |
| reserved3: 0x0 |
| content: 4E534F626A65637400437573746F6D0074727920626C6F636B00657863657074696F6E0076313640303A3800 |
| - sectname: __objc_methname |
| segname: __TEXT |
| addr: 0x1DAC |
| size: 10 |
| offset: 0x1DAC |
| align: 0 |
| reloff: 0x0 |
| nreloc: 0 |
| flags: 0x2 |
| reserved1: 0x0 |
| reserved2: 0x0 |
| reserved3: 0x0 |
| content: 74657374436C61737300 |
| - sectname: __unwind_info |
| segname: __TEXT |
| addr: 0x1DB8 |
| size: 4164 |
| offset: 0x1DB8 |
| align: 2 |
| reloff: 0x0 |
| nreloc: 0 |
| flags: 0x0 |
| reserved1: 0x0 |
| reserved2: 0x0 |
| reserved3: 0x0 |
| content: 010000001C00000001000000200000000100000024000000020000000100015108300000C01C0000440000003C000000141D00000000000044000000C01C0000641D0000030000000C0001001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 |
| - sectname: __eh_frame |
| segname: __TEXT |
| addr: 0x2E00 |
| size: 32 |
| offset: 0x2E00 |
| align: 3 |
| reloff: 0x0 |
| nreloc: 0 |
| flags: 0x6000000B |
| reserved1: 0x0 |
| reserved2: 0x0 |
| reserved3: 0x0 |
| content: 1C00000000000000017A504C5200017810079BF501000010100C070890010000 |
| - cmd: LC_SEGMENT_64 |
| cmdsize: 392 |
| segname: __DATA_CONST |
| vmaddr: 12288 |
| vmsize: 4096 |
| fileoff: 12288 |
| filesize: 4096 |
| maxprot: 3 |
| initprot: 3 |
| nsects: 4 |
| flags: 16 |
| Sections: |
| - sectname: __got |
| segname: __DATA_CONST |
| addr: 0x3000 |
| size: 24 |
| offset: 0x3000 |
| align: 3 |
| reloff: 0x0 |
| nreloc: 0 |
| flags: 0x6 |
| reserved1: 0x0 |
| reserved2: 0x0 |
| reserved3: 0x0 |
| content: '204000000000000000000000000000000000000000000000' |
| - sectname: __cfstring |
| segname: __DATA_CONST |
| addr: 0x3018 |
| size: 64 |
| offset: 0x3018 |
| align: 3 |
| reloff: 0x0 |
| nreloc: 0 |
| flags: 0x0 |
| reserved1: 0x0 |
| reserved2: 0x0 |
| reserved3: 0x0 |
| content: 0000000000000000C807000000000000901D00000000000009000000000000000000000000000000C8070000000000009A1D0000000000000900000000000000 |
| - sectname: __objc_classlist |
| segname: __DATA_CONST |
| addr: 0x3058 |
| size: 8 |
| offset: 0x3058 |
| align: 3 |
| reloff: 0x0 |
| nreloc: 0 |
| flags: 0x10000000 |
| reserved1: 0x0 |
| reserved2: 0x0 |
| reserved3: 0x0 |
| content: '1841000000000000' |
| - sectname: __objc_imageinfo |
| segname: __DATA_CONST |
| addr: 0x3060 |
| size: 8 |
| offset: 0x3060 |
| align: 0 |
| reloff: 0x0 |
| nreloc: 0 |
| flags: 0x0 |
| reserved1: 0x0 |
| reserved2: 0x0 |
| reserved3: 0x0 |
| content: '0000000040000000' |
| - cmd: LC_SEGMENT_64 |
| cmdsize: 392 |
| segname: __DATA |
| vmaddr: 16384 |
| vmsize: 4096 |
| fileoff: 16384 |
| filesize: 4096 |
| maxprot: 3 |
| initprot: 3 |
| nsects: 4 |
| flags: 0 |
| Sections: |
| - sectname: __la_symbol_ptr |
| segname: __DATA |
| addr: 0x4000 |
| size: 32 |
| offset: 0x4000 |
| align: 3 |
| reloff: 0x0 |
| nreloc: 0 |
| flags: 0x7 |
| reserved1: 0x7 |
| reserved2: 0x0 |
| reserved3: 0x0 |
| content: 3C1D000000000000461D000000000000501D0000000000005A1D000000000000 |
| - sectname: __data |
| segname: __DATA |
| addr: 0x4020 |
| size: 32 |
| offset: 0x4020 |
| align: 3 |
| reloff: 0x0 |
| nreloc: 0 |
| flags: 0x0 |
| reserved1: 0x0 |
| reserved2: 0x0 |
| reserved3: 0x0 |
| content: 1000000000000000801D00000000000000000000000000000000000000000000 |
| - sectname: __objc_const |
| segname: __DATA |
| addr: 0x4040 |
| size: 176 |
| offset: 0x4040 |
| align: 3 |
| reloff: 0x0 |
| nreloc: 0 |
| flags: 0x0 |
| reserved1: 0x0 |
| reserved2: 0x0 |
| reserved3: 0x0 |
| content: 1800000001000000AC1D000000000000A41D000000000000C01C000000000000010000002800000028000000000000000000000000000000891D00000000000040400000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000008000000000000000000000000000000891D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 |
| - sectname: __objc_data |
| segname: __DATA |
| addr: 0x40F0 |
| size: 80 |
| offset: 0x40F0 |
| align: 3 |
| reloff: 0x0 |
| nreloc: 0 |
| flags: 0x0 |
| reserved1: 0x0 |
| reserved2: 0x0 |
| reserved3: 0x0 |
| content: 00000000000000000000000000000000000000000000000000000000000000006040000000000000F040000000000000000000000000000000000000000000000000000000000000A840000000000000 |
| - cmd: LC_SEGMENT_64 |
| cmdsize: 72 |
| segname: __LINKEDIT |
| vmaddr: 20480 |
| vmsize: 1272 |
| fileoff: 20480 |
| filesize: 1272 |
| maxprot: 1 |
| initprot: 1 |
| nsects: 0 |
| flags: 0 |
| - cmd: LC_DYLD_INFO_ONLY |
| cmdsize: 48 |
| rebase_off: 20480 |
| rebase_size: 32 |
| bind_off: 20512 |
| bind_size: 224 |
| weak_bind_off: 20736 |
| weak_bind_size: 32 |
| lazy_bind_off: 20768 |
| lazy_bind_size: 88 |
| export_off: 20856 |
| export_size: 88 |
| - cmd: LC_SYMTAB |
| cmdsize: 24 |
| symoff: 20952 |
| nsyms: 20 |
| stroff: 21320 |
| strsize: 432 |
| - cmd: LC_DYSYMTAB |
| cmdsize: 80 |
| ilocalsym: 0 |
| nlocalsym: 6 |
| iextdefsym: 6 |
| nextdefsym: 3 |
| iundefsym: 9 |
| nundefsym: 11 |
| tocoff: 0 |
| ntoc: 0 |
| modtaboff: 0 |
| nmodtab: 0 |
| extrefsymoff: 0 |
| nextrefsyms: 0 |
| indirectsymoff: 21272 |
| nindirectsyms: 11 |
| extreloff: 0 |
| nextrel: 0 |
| locreloff: 0 |
| nlocrel: 0 |
| - cmd: LC_ID_DYLIB |
| cmdsize: 88 |
| dylib: |
| name: 24 |
| timestamp: 0 |
| current_version: 65536 |
| compatibility_version: 65536 |
| Content: '/System/Library/Frameworks/EHTypes.framework/Versions/A/EHTypes' |
| ZeroPadBytes: 1 |
| - cmd: LC_UUID |
| cmdsize: 24 |
| uuid: 4C4C44D7-5555-3144-A1F0-5AD6F1CB175B |
| - cmd: LC_BUILD_VERSION |
| cmdsize: 32 |
| platform: 1 |
| minos: 851968 |
| sdk: 918272 |
| ntools: 1 |
| Tools: |
| - tool: 4 |
| version: 1245184 |
| - cmd: LC_LOAD_DYLIB |
| cmdsize: 96 |
| dylib: |
| name: 24 |
| timestamp: 0 |
| current_version: 144310272 |
| compatibility_version: 19660800 |
| Content: '/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation' |
| ZeroPadBytes: 3 |
| - cmd: LC_LOAD_DYLIB |
| cmdsize: 104 |
| dylib: |
| name: 24 |
| timestamp: 0 |
| current_version: 144310272 |
| compatibility_version: 9830400 |
| Content: '/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation' |
| ZeroPadBytes: 3 |
| - cmd: LC_LOAD_DYLIB |
| cmdsize: 56 |
| dylib: |
| name: 24 |
| timestamp: 0 |
| current_version: 14942208 |
| compatibility_version: 65536 |
| Content: '/usr/lib/libobjc.A.dylib' |
| ZeroPadBytes: 8 |
| - cmd: LC_LOAD_DYLIB |
| cmdsize: 56 |
| dylib: |
| name: 24 |
| timestamp: 0 |
| current_version: 87576577 |
| compatibility_version: 65536 |
| Content: '/usr/lib/libSystem.B.dylib' |
| ZeroPadBytes: 6 |
| - cmd: LC_FUNCTION_STARTS |
| cmdsize: 16 |
| dataoff: 20944 |
| datasize: 8 |
| - cmd: LC_DATA_IN_CODE |
| cmdsize: 16 |
| dataoff: 20952 |
| datasize: 0 |
| LinkEditData: |
| RebaseOpcodes: |
| - Opcode: REBASE_OPCODE_SET_TYPE_IMM |
| Imm: 1 |
| - Opcode: REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB |
| Imm: 1 |
| ExtraData: [ 0x0 ] |
| - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB |
| Imm: 0 |
| ExtraData: [ 0x20 ] |
| - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB |
| Imm: 0 |
| ExtraData: [ 0x18 ] |
| - Opcode: REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB |
| Imm: 0 |
| ExtraData: [ 0x2, 0x8 ] |
| - Opcode: REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB |
| Imm: 2 |
| ExtraData: [ 0x0 ] |
| - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES |
| Imm: 4 |
| - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED |
| Imm: 1 |
| - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB |
| Imm: 0 |
| ExtraData: [ 0x18 ] |
| - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES |
| Imm: 3 |
| - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED |
| Imm: 3 |
| - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES |
| Imm: 2 |
| - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED |
| Imm: 7 |
| - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB |
| Imm: 0 |
| ExtraData: [ 0x48 ] |
| - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES |
| Imm: 2 |
| - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED |
| Imm: 3 |
| - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES |
| Imm: 1 |
| - Opcode: REBASE_OPCODE_DONE |
| Imm: 0 |
| BindOpcodes: |
| - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM |
| Imm: 0 |
| Symbol: ___objc_personality_v0 |
| - Opcode: BIND_OPCODE_SET_TYPE_IMM |
| Imm: 1 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_DYLIB_ORDINAL_IMM |
| Imm: 3 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB |
| Imm: 1 |
| ULEBExtraData: [ 0x8 ] |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DO_BIND |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM |
| Imm: 0 |
| Symbol: dyld_stub_binder |
| - Opcode: BIND_OPCODE_SET_TYPE_IMM |
| Imm: 1 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_DYLIB_ORDINAL_IMM |
| Imm: 4 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DO_BIND |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM |
| Imm: 0 |
| Symbol: ___CFConstantStringClassReference |
| - Opcode: BIND_OPCODE_SET_TYPE_IMM |
| Imm: 1 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_DYLIB_ORDINAL_IMM |
| Imm: 2 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DO_BIND |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_ADD_ADDR_ULEB |
| Imm: 0 |
| ULEBExtraData: [ 0x18 ] |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DO_BIND |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM |
| Imm: 0 |
| Symbol: _objc_ehtype_vtable |
| - Opcode: BIND_OPCODE_SET_TYPE_IMM |
| Imm: 1 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_DYLIB_ORDINAL_IMM |
| Imm: 3 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB |
| Imm: 2 |
| ULEBExtraData: [ 0x20 ] |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_ADDEND_SLEB |
| Imm: 0 |
| SLEBExtraData: [ 16 ] |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DO_BIND |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM |
| Imm: 0 |
| Symbol: '_OBJC_CLASS_$_NSObject' |
| - Opcode: BIND_OPCODE_SET_TYPE_IMM |
| Imm: 1 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_ADD_ADDR_ULEB |
| Imm: 0 |
| ULEBExtraData: [ 0x8 ] |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_ADDEND_SLEB |
| Imm: 0 |
| SLEBExtraData: [ 0 ] |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DO_BIND |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_ADD_ADDR_ULEB |
| Imm: 0 |
| ULEBExtraData: [ 0xE8 ] |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DO_BIND |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM |
| Imm: 0 |
| Symbol: '_OBJC_METACLASS_$_NSObject' |
| - Opcode: BIND_OPCODE_SET_TYPE_IMM |
| Imm: 1 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_ADD_ADDR_ULEB |
| Imm: 0 |
| ULEBExtraData: [ 0xFFFFFFFFFFFFFFC8 ] |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DO_BIND |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DO_BIND |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM |
| Imm: 0 |
| Symbol: __objc_empty_cache |
| - Opcode: BIND_OPCODE_SET_TYPE_IMM |
| Imm: 1 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DO_BIND |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_ADD_ADDR_ULEB |
| Imm: 0 |
| ULEBExtraData: [ 0x20 ] |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DO_BIND |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DONE |
| Imm: 0 |
| Symbol: '' |
| WeakBindOpcodes: |
| - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM |
| Imm: 0 |
| Symbol: '_OBJC_EHTYPE_$_NSObject' |
| - Opcode: BIND_OPCODE_SET_TYPE_IMM |
| Imm: 1 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB |
| Imm: 1 |
| ULEBExtraData: [ 0x0 ] |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DO_BIND |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DONE |
| Imm: 0 |
| Symbol: '' |
| LazyBindOpcodes: |
| - Opcode: BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB |
| Imm: 2 |
| ULEBExtraData: [ 0x0 ] |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_DYLIB_ORDINAL_IMM |
| Imm: 4 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM |
| Imm: 0 |
| Symbol: __Unwind_Resume |
| - Opcode: BIND_OPCODE_DO_BIND |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DONE |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB |
| Imm: 2 |
| ULEBExtraData: [ 0x8 ] |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_DYLIB_ORDINAL_IMM |
| Imm: 3 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM |
| Imm: 0 |
| Symbol: _objc_end_catch |
| - Opcode: BIND_OPCODE_DO_BIND |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DONE |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB |
| Imm: 2 |
| ULEBExtraData: [ 0x10 ] |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_DYLIB_ORDINAL_IMM |
| Imm: 1 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM |
| Imm: 0 |
| Symbol: _NSLog |
| - Opcode: BIND_OPCODE_DO_BIND |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DONE |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB |
| Imm: 2 |
| ULEBExtraData: [ 0x18 ] |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_DYLIB_ORDINAL_IMM |
| Imm: 3 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM |
| Imm: 0 |
| Symbol: _objc_begin_catch |
| - Opcode: BIND_OPCODE_DO_BIND |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DONE |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DONE |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DONE |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DONE |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DONE |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DONE |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DONE |
| Imm: 0 |
| Symbol: '' |
| - Opcode: BIND_OPCODE_DONE |
| Imm: 0 |
| Symbol: '' |
| ExportTrie: |
| TerminalSize: 0 |
| NodeOffset: 0 |
| Name: '' |
| Flags: 0x0 |
| Address: 0x0 |
| Other: 0x0 |
| ImportName: '' |
| Children: |
| - TerminalSize: 0 |
| NodeOffset: 10 |
| Name: _OBJC_ |
| Flags: 0x0 |
| Address: 0x0 |
| Other: 0x0 |
| ImportName: '' |
| Children: |
| - TerminalSize: 4 |
| NodeOffset: 67 |
| Name: 'EHTYPE_$_NSObject' |
| Flags: 0x4 |
| Address: 0x4020 |
| Other: 0x0 |
| ImportName: '' |
| - TerminalSize: 4 |
| NodeOffset: 73 |
| Name: 'CLASS_$_Custom' |
| Flags: 0x0 |
| Address: 0x4118 |
| Other: 0x0 |
| ImportName: '' |
| - TerminalSize: 4 |
| NodeOffset: 79 |
| Name: 'METACLASS_$_Custom' |
| Flags: 0x0 |
| Address: 0x40F0 |
| Other: 0x0 |
| ImportName: '' |
| NameList: |
| - n_strx: 2 |
| n_type: 0xE |
| n_sect: 1 |
| n_desc: 0 |
| n_value: 7360 |
| - n_strx: 22 |
| n_type: 0xE |
| n_sect: 4 |
| n_desc: 0 |
| n_value: 7524 |
| - n_strx: 40 |
| n_type: 0xE |
| n_sect: 15 |
| n_desc: 0 |
| n_value: 16448 |
| - n_strx: 70 |
| n_type: 0xE |
| n_sect: 15 |
| n_desc: 0 |
| n_value: 16480 |
| - n_strx: 99 |
| n_type: 0xE |
| n_sect: 15 |
| n_desc: 0 |
| n_value: 16552 |
| - n_strx: 124 |
| n_type: 0xE |
| n_sect: 14 |
| n_desc: 0 |
| n_value: 16440 |
| - n_strx: 139 |
| n_type: 0xF |
| n_sect: 14 |
| n_desc: 128 |
| n_value: 16416 |
| - n_strx: 163 |
| n_type: 0xF |
| n_sect: 16 |
| n_desc: 0 |
| n_value: 16624 |
| - n_strx: 188 |
| n_type: 0xF |
| n_sect: 16 |
| n_desc: 0 |
| n_value: 16664 |
| - n_strx: 209 |
| n_type: 0x1 |
| n_sect: 0 |
| n_desc: 256 |
| n_value: 0 |
| - n_strx: 216 |
| n_type: 0x1 |
| n_sect: 0 |
| n_desc: 768 |
| n_value: 0 |
| - n_strx: 239 |
| n_type: 0x1 |
| n_sect: 0 |
| n_desc: 768 |
| n_value: 0 |
| - n_strx: 266 |
| n_type: 0x1 |
| n_sect: 0 |
| n_desc: 1024 |
| n_value: 0 |
| - n_strx: 282 |
| n_type: 0x1 |
| n_sect: 0 |
| n_desc: 512 |
| n_value: 0 |
| - n_strx: 316 |
| n_type: 0x1 |
| n_sect: 0 |
| n_desc: 768 |
| n_value: 0 |
| - n_strx: 339 |
| n_type: 0x1 |
| n_sect: 0 |
| n_desc: 768 |
| n_value: 0 |
| - n_strx: 358 |
| n_type: 0x1 |
| n_sect: 0 |
| n_desc: 768 |
| n_value: 0 |
| - n_strx: 376 |
| n_type: 0x1 |
| n_sect: 0 |
| n_desc: 768 |
| n_value: 0 |
| - n_strx: 396 |
| n_type: 0x1 |
| n_sect: 0 |
| n_desc: 768 |
| n_value: 0 |
| - n_strx: 412 |
| n_type: 0x1 |
| n_sect: 0 |
| n_desc: 1024 |
| n_value: 0 |
| StringTable: |
| - ' ' |
| - '+[Custom testClass]' |
| - GCC_except_table0 |
| - '__OBJC_$_CLASS_METHODS_Custom' |
| - '__OBJC_METACLASS_RO_$_Custom' |
| - '__OBJC_CLASS_RO_$_Custom' |
| - __dyld_private |
| - '_OBJC_EHTYPE_$_NSObject' |
| - '_OBJC_METACLASS_$_Custom' |
| - '_OBJC_CLASS_$_Custom' |
| - _NSLog |
| - '_OBJC_CLASS_$_NSObject' |
| - '_OBJC_METACLASS_$_NSObject' |
| - __Unwind_Resume |
| - ___CFConstantStringClassReference |
| - ___objc_personality_v0 |
| - __objc_empty_cache |
| - _objc_begin_catch |
| - _objc_ehtype_vtable |
| - _objc_end_catch |
| - dyld_stub_binder |
| - '' |
| - '' |
| - '' |
| IndirectSymbols: [ 0x6, 0xE, 0x13, 0xC, 0x12, 0x9, 0x10, 0xC, 0x12, 0x9, |
| 0x10 ] |
| FunctionStarts: [ 0x1CC0 ] |
| ... |