766 lines · plain
1; RUN: rm -rf %t2; RUN: split-file %s %t3; RUN: cp -r %S/Inputs/Foundation/Foundation.framework %t/System/Library/Frameworks/4; RUN: sed -e "s|DSTROOT|%/t|g" %t/inputs.json.in > %t/inputs.json5; RUN: yaml2obj %t/Mismatch.yaml -o %t/System/Library/Frameworks/Mismatch.framework/Mismatch6 7; RUN: not clang-installapi --target=arm64-apple-macos13 \8; RUN: --target=x86_64-apple-macos13 -darwin-target-variant x86_64-apple-ios16.0-macabi \9; RUN: -darwin-target-variant arm64-apple-ios16.0-macabi \10; RUN: -F %t/System/Library/Frameworks -isysroot %S/Inputs/MacOSX13.0.sdk \11; RUN: -install_name /System/Library/Frameworks/Mismatch.framework/Versions/A/Mismatch \12; RUN: -current_version 1 -compatibility_version 1 %t/inputs.json -o %t/Mismatch.tbd \13; RUN: --verify-against=%t/System/Library/Frameworks/Mismatch.framework/Mismatch \14; RUN: --verify-mode=Pedantic 2>&1 | FileCheck %s 15 16; CHECK: warning: violations found for x86_64-apple-macos1317; CHECK: error: declaration has external linkage, but dynamic library doesn't have symbol 'foo_arch_x86'18; CHECK-NEXT: extern int foo_arch_x86();19 20; CHECK: error: symbol exported in dynamic library, but marked hidden in declaration 'baz'21; CHECK-NEXT: int baz() __attribute__((visibility("hidden")));22 23; CHECK-NOT: inlinedFunc24 25; CHECK: error: declaration has external linkage, but symbol has internal linkage in dynamic library 'bar'26; CHECK-NEXT: extern int bar();27 28; CHECK: error: declaration has external linkage, but dynamic library doesn't have symbol 'NSFoo'29; CHECK-NEXT: @interface NSFoo30 31; CHECK: error: declaration has external linkage, but dynamic library doesn't have symbol 'NSFoo.nsint'32; CHECK-NEXT: int nsint;33 34; CHECK: error: declaration has external linkage, but dynamic library doesn't have symbol 'NSFooExcept'35; CHECK-NEXT: @interface NSFooExcept36 37; CHECK: warning: violations found for arm64-apple-macos1338; CHECK: error: declaration has external linkage, but dynamic library doesn't have symbol 'foo_arch_arm'39; CHECK-NEXT: extern int foo_arch_arm();40 41; CHECK: warning: violations found for x86_64 42; CHECK-NEXT: error: no declaration found for exported symbol '_fooBar' in dynamic library43 44; CHECK: warning: violations found for arm64 45; CHECK-NEXT: error: no declaration found for exported symbol '_fooBar' in dynamic library46; CHECK: warning: violations found for arm64-apple-macos1347; CHECK-NEXT: error: declaration 'unavailableSymbol' is marked unavailable, but symbol is exported in dynamic library48; CHECK-NEXT: extern int unavailableSymbol49; CHECK: warning: violations found for arm64-apple-ios16.0-macabi50; CHECK-NEXT: error: declaration 'unavailableSymbol' is marked unavailable, but symbol is exported in dynamic library51; CHECK-NEXT: extern int unavailableSymbol52 53 54;--- System/Library/Frameworks/Mismatch.framework/Headers/Mismatch.h55#if defined(__x86_64__)56extern int foo_arch_x86();57#else58extern int foo_arch_arm();59#endif60 61int foo();62int baz() __attribute__((visibility("hidden")));63 64__attribute__((visibility("hidden"))) inline int inlinedFunc() { return 1; }65 66;--- System/Library/Frameworks/Mismatch.framework/PrivateHeaders/Mismatch_Private.h67#include <Foundation/Foundation.h>68extern int bar();69 70@interface NSFoo : NSObject {71 int nsint;72}73@end74 75__attribute__((objc_exception))76@interface NSFooExcept : NSObject77@end78 79extern int unavailableSymbol __attribute__((80 availability(macosx, unavailable), availability(macCatalyst, unavailable)));81 82 83// Generated from source:84// *** 85// int inlinedFunc() { return 1; }86// int foo() { return 1; }87// __attribute__((visibility("hidden"))) int bar() { return 1; }88// int baz() { return 1; }89// int fooBar = 1;90// int unavailableSymbol = 1;91// *** 92// xcrun -sdk macosx clang -target x86_64-apple-macos13 --target-variant=x86_64-apple-ios16-macabi -dynamiclib93// xcrun -sdk macosx clang -target arm64-apple-macos13 --target-variant=arm64-apple-ios16-macabi -dynamiclib94// then lipo'ed together. 95 96;--- Mismatch.yaml97--- !fat-mach-o98FatHeader:99 magic: 0xCAFEBABE100 nfat_arch: 2101FatArchs:102 - cputype: 0x1000007103 cpusubtype: 0x3104 offset: 0x1000105 size: 20768106 align: 12107 - cputype: 0x100000C108 cpusubtype: 0x0109 offset: 0x8000110 size: 49984111 align: 14112Slices:113 - !mach-o114 FileHeader:115 magic: 0xFEEDFACF116 cputype: 0x1000007117 cpusubtype: 0x3118 filetype: 0x6119 ncmds: 15120 sizeofcmds: 1584121 flags: 0x100085122 reserved: 0x0123 LoadCommands:124 - cmd: LC_SEGMENT_64125 cmdsize: 312126 segname: __TEXT127 vmaddr: 0128 vmsize: 12288129 fileoff: 0130 filesize: 12288131 maxprot: 5132 initprot: 5133 nsects: 3134 flags: 0135 Sections:136 - sectname: __text137 segname: __TEXT138 addr: 0x1090139 size: 59140 offset: 0x1090141 align: 4142 reloff: 0x0143 nreloc: 0144 flags: 0x80000400145 reserved1: 0x0146 reserved2: 0x0147 reserved3: 0x0148 content: 554889E5B8010000005DC30F1F440000554889E5B8010000005DC30F1F440000554889E5B8010000005DC30F1F440000554889E5B8010000005DC3149 - sectname: __unwind_info150 segname: __TEXT151 addr: 0x10CC152 size: 4152153 offset: 0x10CC154 align: 2155 reloff: 0x0156 nreloc: 0157 flags: 0x0158 reserved1: 0x0159 reserved2: 0x0160 reserved3: 0x0161 content: 010000001C000000010000002000000000000000200000000200000000000001901000003800000038000000CB1000000000000038000000030000000C0001001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162 - sectname: __eh_frame163 segname: __TEXT164 addr: 0x2108165 size: 24166 offset: 0x2108167 align: 3168 reloff: 0x0169 nreloc: 0170 flags: 0x6000000B171 reserved1: 0x0172 reserved2: 0x0173 reserved3: 0x0174 content: 1400000000000000017A520001781001100C070890010000175 - cmd: LC_SEGMENT_64176 cmdsize: 152177 segname: __DATA_CONST178 vmaddr: 12288179 vmsize: 4096180 fileoff: 12288181 filesize: 4096182 maxprot: 3183 initprot: 3184 nsects: 1185 flags: 16186 Sections:187 - sectname: __objc_imageinfo188 segname: __DATA_CONST189 addr: 0x3000190 size: 8191 offset: 0x3000192 align: 0193 reloff: 0x0194 nreloc: 0195 flags: 0x0196 reserved1: 0x0197 reserved2: 0x0198 reserved3: 0x0199 content: '0000000040000000'200 - cmd: LC_SEGMENT_64201 cmdsize: 152202 segname: __DATA203 vmaddr: 16384204 vmsize: 4096205 fileoff: 16384206 filesize: 4096207 maxprot: 3208 initprot: 3209 nsects: 1210 flags: 0211 Sections:212 - sectname: __data213 segname: __DATA214 addr: 0x4000215 size: 8216 offset: 0x4000217 align: 2218 reloff: 0x0219 nreloc: 0220 flags: 0x0221 reserved1: 0x0222 reserved2: 0x0223 reserved3: 0x0224 content: '0100000001000000'225 - cmd: LC_SEGMENT_64226 cmdsize: 72227 segname: __LINKEDIT228 vmaddr: 20480229 vmsize: 288230 fileoff: 20480231 filesize: 288232 maxprot: 1233 initprot: 1234 nsects: 0235 flags: 0236 - cmd: LC_DYLD_INFO_ONLY237 cmdsize: 48238 rebase_off: 0239 rebase_size: 0240 bind_off: 0241 bind_size: 0242 weak_bind_off: 0243 weak_bind_size: 0244 lazy_bind_off: 0245 lazy_bind_size: 0246 export_off: 20480247 export_size: 88248 - cmd: LC_SYMTAB249 cmdsize: 24250 symoff: 20576251 nsyms: 7252 stroff: 20688253 strsize: 80254 - cmd: LC_DYSYMTAB255 cmdsize: 80256 ilocalsym: 0257 nlocalsym: 1258 iextdefsym: 1259 nextdefsym: 5260 iundefsym: 6261 nundefsym: 1262 tocoff: 0263 ntoc: 0264 modtaboff: 0265 nmodtab: 0266 extrefsymoff: 0267 nextrefsyms: 0268 indirectsymoff: 0269 nindirectsyms: 0270 extreloff: 0271 nextrel: 0272 locreloff: 0273 nlocrel: 0274 - cmd: LC_ID_DYLIB275 cmdsize: 96276 dylib:277 name: 24278 timestamp: 0279 current_version: 65536280 compatibility_version: 65536281 Content: '/System/Library/Frameworks/Mismatch.framework/Versions/A/Mismatch'282 ZeroPadBytes: 7283 - cmd: LC_UUID284 cmdsize: 24285 uuid: 4C4C4421-5555-3144-A16C-E4AA63D66775286 - cmd: LC_BUILD_VERSION287 cmdsize: 32288 platform: 1289 minos: 851968290 sdk: 983040291 ntools: 1292 Tools:293 - tool: 4294 version: 1245184295 - cmd: LC_BUILD_VERSION296 cmdsize: 32297 platform: 6298 minos: 1048576299 sdk: 1048576300 ntools: 1301 Tools:302 - tool: 4303 version: 1245184304 - cmd: LC_LOAD_DYLIB305 cmdsize: 56306 dylib:307 name: 24308 timestamp: 0309 current_version: 14942208310 compatibility_version: 65536311 Content: '/usr/lib/libobjc.A.dylib'312 ZeroPadBytes: 8313 - cmd: LC_LOAD_DYLIB314 cmdsize: 56315 dylib:316 name: 24317 timestamp: 0318 current_version: 88539136319 compatibility_version: 65536320 Content: '/usr/lib/libSystem.B.dylib'321 ZeroPadBytes: 6322 - cmd: LC_FUNCTION_STARTS323 cmdsize: 16324 dataoff: 20568325 datasize: 8326 - cmd: LC_DATA_IN_CODE327 cmdsize: 16328 dataoff: 20576329 datasize: 0330 LinkEditData:331 ExportTrie:332 TerminalSize: 0333 NodeOffset: 0334 Name: ''335 Flags: 0x0336 Address: 0x0337 Other: 0x0338 ImportName: ''339 Children:340 - TerminalSize: 0341 NodeOffset: 5342 Name: _343 Flags: 0x0344 Address: 0x0345 Other: 0x0346 ImportName: ''347 Children:348 - TerminalSize: 3349 NodeOffset: 49350 Name: inlinedFunc351 Flags: 0x0352 Address: 0x1090353 Other: 0x0354 ImportName: ''355 - TerminalSize: 3356 NodeOffset: 54357 Name: foo358 Flags: 0x0359 Address: 0x10A0360 Other: 0x0361 ImportName: ''362 Children:363 - TerminalSize: 4364 NodeOffset: 64365 Name: Bar366 Flags: 0x0367 Address: 0x4000368 Other: 0x0369 ImportName: ''370 - TerminalSize: 4371 NodeOffset: 70372 Name: unavailableSymbol373 Flags: 0x0374 Address: 0x4004375 Other: 0x0376 ImportName: ''377 - TerminalSize: 3378 NodeOffset: 76379 Name: baz380 Flags: 0x0381 Address: 0x10C0382 Other: 0x0383 ImportName: ''384 NameList:385 - n_strx: 20386 n_type: 0x1E387 n_sect: 1388 n_desc: 0389 n_value: 4272390 - n_strx: 2391 n_type: 0xF392 n_sect: 1393 n_desc: 0394 n_value: 4240395 - n_strx: 15396 n_type: 0xF397 n_sect: 1398 n_desc: 0399 n_value: 4256400 - n_strx: 25401 n_type: 0xF402 n_sect: 1403 n_desc: 0404 n_value: 4288405 - n_strx: 30406 n_type: 0xF407 n_sect: 5408 n_desc: 0409 n_value: 16384410 - n_strx: 38411 n_type: 0xF412 n_sect: 5413 n_desc: 0414 n_value: 16388415 - n_strx: 57416 n_type: 0x1417 n_sect: 0418 n_desc: 512419 n_value: 0420 StringTable:421 - ' '422 - _inlinedFunc423 - _foo424 - _bar425 - _baz426 - _fooBar427 - _unavailableSymbol428 - dyld_stub_binder429 - ''430 - ''431 - ''432 - ''433 - ''434 - ''435 FunctionStarts: [ 0x1090, 0x10A0, 0x10B0, 0x10C0 ]436 - !mach-o437 FileHeader:438 magic: 0xFEEDFACF439 cputype: 0x100000C440 cpusubtype: 0x0441 filetype: 0x6442 ncmds: 16443 sizeofcmds: 1104444 flags: 0x100085445 reserved: 0x0446 LoadCommands:447 - cmd: LC_SEGMENT_64448 cmdsize: 232449 segname: __TEXT450 vmaddr: 0451 vmsize: 16384452 fileoff: 0453 filesize: 16384454 maxprot: 5455 initprot: 5456 nsects: 2457 flags: 0458 Sections:459 - sectname: __text460 segname: __TEXT461 addr: 0x1050462 size: 32463 offset: 0x1050464 align: 2465 reloff: 0x0466 nreloc: 0467 flags: 0x80000400468 reserved1: 0x0469 reserved2: 0x0470 reserved3: 0x0471 content: 20008052C0035FD620008052C0035FD620008052C0035FD620008052C0035FD6472 - sectname: __unwind_info473 segname: __TEXT474 addr: 0x1070475 size: 4152476 offset: 0x1070477 align: 2478 reloff: 0x0479 nreloc: 0480 flags: 0x0481 reserved1: 0x0482 reserved2: 0x0483 reserved3: 0x0484 content: 010000001C000000010000002000000000000000200000000200000000000002501000003800000038000000701000000000000038000000030000000C0001001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000485 - cmd: LC_SEGMENT_64486 cmdsize: 152487 segname: __DATA_CONST488 vmaddr: 16384489 vmsize: 16384490 fileoff: 16384491 filesize: 16384492 maxprot: 3493 initprot: 3494 nsects: 1495 flags: 16496 Sections:497 - sectname: __objc_imageinfo498 segname: __DATA_CONST499 addr: 0x4000500 size: 8501 offset: 0x4000502 align: 0503 reloff: 0x0504 nreloc: 0505 flags: 0x0506 reserved1: 0x0507 reserved2: 0x0508 reserved3: 0x0509 content: '0000000040000000'510 - cmd: LC_SEGMENT_64511 cmdsize: 152512 segname: __DATA513 vmaddr: 32768514 vmsize: 16384515 fileoff: 32768516 filesize: 16384517 maxprot: 3518 initprot: 3519 nsects: 1520 flags: 0521 Sections:522 - sectname: __data523 segname: __DATA524 addr: 0x8000525 size: 8526 offset: 0x8000527 align: 2528 reloff: 0x0529 nreloc: 0530 flags: 0x0531 reserved1: 0x0532 reserved2: 0x0533 reserved3: 0x0534 content: '0100000001000000'535 - cmd: LC_SEGMENT_64536 cmdsize: 72537 segname: __LINKEDIT538 vmaddr: 49152539 vmsize: 832540 fileoff: 49152541 filesize: 832542 maxprot: 1543 initprot: 1544 nsects: 0545 flags: 0546 - cmd: LC_DYLD_INFO_ONLY547 cmdsize: 48548 rebase_off: 0549 rebase_size: 0550 bind_off: 0551 bind_size: 0552 weak_bind_off: 0553 weak_bind_size: 0554 lazy_bind_off: 0555 lazy_bind_size: 0556 export_off: 49152557 export_size: 88558 - cmd: LC_SYMTAB559 cmdsize: 24560 symoff: 49248561 nsyms: 7562 stroff: 49360563 strsize: 80564 - cmd: LC_DYSYMTAB565 cmdsize: 80566 ilocalsym: 0567 nlocalsym: 1568 iextdefsym: 1569 nextdefsym: 5570 iundefsym: 6571 nundefsym: 1572 tocoff: 0573 ntoc: 0574 modtaboff: 0575 nmodtab: 0576 extrefsymoff: 0577 nextrefsyms: 0578 indirectsymoff: 0579 nindirectsyms: 0580 extreloff: 0581 nextrel: 0582 locreloff: 0583 nlocrel: 0584 - cmd: LC_ID_DYLIB585 cmdsize: 96586 dylib:587 name: 24588 timestamp: 0589 current_version: 65536590 compatibility_version: 65536591 Content: '/System/Library/Frameworks/Mismatch.framework/Versions/A/Mismatch'592 ZeroPadBytes: 7593 - cmd: LC_UUID594 cmdsize: 24595 uuid: 4C4C4428-5555-3144-A12B-7130A3C946D2596 - cmd: LC_BUILD_VERSION597 cmdsize: 32598 platform: 1599 minos: 851968600 sdk: 983040601 ntools: 1602 Tools:603 - tool: 4604 version: 1245184605 - cmd: LC_BUILD_VERSION606 cmdsize: 32607 platform: 6608 minos: 1048576609 sdk: 1048576610 ntools: 1611 Tools:612 - tool: 4613 version: 1245184614 - cmd: LC_LOAD_DYLIB615 cmdsize: 56616 dylib:617 name: 24618 timestamp: 0619 current_version: 14942208620 compatibility_version: 65536621 Content: '/usr/lib/libobjc.A.dylib'622 ZeroPadBytes: 8623 - cmd: LC_LOAD_DYLIB624 cmdsize: 56625 dylib:626 name: 24627 timestamp: 0628 current_version: 88539136629 compatibility_version: 65536630 Content: '/usr/lib/libSystem.B.dylib'631 ZeroPadBytes: 6632 - cmd: LC_FUNCTION_STARTS633 cmdsize: 16634 dataoff: 49240635 datasize: 8636 - cmd: LC_DATA_IN_CODE637 cmdsize: 16638 dataoff: 49248639 datasize: 0640 - cmd: LC_CODE_SIGNATURE641 cmdsize: 16642 dataoff: 49440643 datasize: 544644 LinkEditData:645 ExportTrie:646 TerminalSize: 0647 NodeOffset: 0648 Name: ''649 Flags: 0x0650 Address: 0x0651 Other: 0x0652 ImportName: ''653 Children:654 - TerminalSize: 0655 NodeOffset: 5656 Name: _657 Flags: 0x0658 Address: 0x0659 Other: 0x0660 ImportName: ''661 Children:662 - TerminalSize: 3663 NodeOffset: 49664 Name: inlinedFunc665 Flags: 0x0666 Address: 0x1050667 Other: 0x0668 ImportName: ''669 - TerminalSize: 3670 NodeOffset: 54671 Name: foo672 Flags: 0x0673 Address: 0x1058674 Other: 0x0675 ImportName: ''676 Children:677 - TerminalSize: 4678 NodeOffset: 64679 Name: Bar680 Flags: 0x0681 Address: 0x8000682 Other: 0x0683 ImportName: ''684 - TerminalSize: 4685 NodeOffset: 70686 Name: unavailableSymbol687 Flags: 0x0688 Address: 0x8004689 Other: 0x0690 ImportName: ''691 - TerminalSize: 3692 NodeOffset: 76693 Name: baz694 Flags: 0x0695 Address: 0x1068696 Other: 0x0697 ImportName: ''698 NameList:699 - n_strx: 20700 n_type: 0x1E701 n_sect: 1702 n_desc: 0703 n_value: 4192704 - n_strx: 2705 n_type: 0xF706 n_sect: 1707 n_desc: 0708 n_value: 4176709 - n_strx: 15710 n_type: 0xF711 n_sect: 1712 n_desc: 0713 n_value: 4184714 - n_strx: 25715 n_type: 0xF716 n_sect: 1717 n_desc: 0718 n_value: 4200719 - n_strx: 30720 n_type: 0xF721 n_sect: 4722 n_desc: 0723 n_value: 32768724 - n_strx: 38725 n_type: 0xF726 n_sect: 4727 n_desc: 0728 n_value: 32772729 - n_strx: 57730 n_type: 0x1731 n_sect: 0732 n_desc: 512733 n_value: 0734 StringTable:735 - ' '736 - _inlinedFunc737 - _foo738 - _bar739 - _baz740 - _fooBar741 - _unavailableSymbol742 - dyld_stub_binder743 - ''744 - ''745 - ''746 - ''747 - ''748 - ''749 FunctionStarts: [ 0x1050, 0x1058, 0x1060, 0x1068 ]750...751 752;--- inputs.json.in753{754 "headers": [ 755 {756 "path" : "DSTROOT/System/Library/Frameworks/Mismatch.framework/PrivateHeaders/Mismatch_Private.h",757 "type" : "private"758 }, 759 {760 "path" : "DSTROOT/System/Library/Frameworks/Mismatch.framework/Headers/Mismatch.h",761 "type" : "public"762 }763 ],764 "version": "3"765}766