1; RUN: rm -rf %t 2; RUN: split-file %s %t 3; 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.json 5; RUN: yaml2obj %t/Mismatch.yaml -o %t/System/Library/Frameworks/Mismatch.framework/Mismatch 6 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-macos13 17; 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: inlinedFunc 24 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 NSFoo 30 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 NSFooExcept 36 37; CHECK: warning: violations found for arm64-apple-macos13 38; 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 library 43 44; CHECK: warning: violations found for arm64 45; CHECK-NEXT: error: no declaration found for exported symbol '_fooBar' in dynamic library 46; CHECK: warning: violations found for arm64-apple-macos13 47; CHECK-NEXT: error: declaration 'unavailableSymbol' is marked unavailable, but symbol is exported in dynamic library 48; CHECK-NEXT: extern int unavailableSymbol 49; CHECK: warning: violations found for arm64-apple-ios16.0-macabi 50; CHECK-NEXT: error: declaration 'unavailableSymbol' is marked unavailable, but symbol is exported in dynamic library 51; CHECK-NEXT: extern int unavailableSymbol 52 53 54;--- System/Library/Frameworks/Mismatch.framework/Headers/Mismatch.h 55#if defined(__x86_64__) 56extern int foo_arch_x86(); 57#else 58extern int foo_arch_arm(); 59#endif 60 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.h 67#include <Foundation/Foundation.h> 68extern int bar(); 69 70@interface NSFoo : NSObject { 71 int nsint; 72} 73@end 74 75__attribute__((objc_exception)) 76@interface NSFooExcept : NSObject 77@end 78 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 -dynamiclib 93// xcrun -sdk macosx clang -target arm64-apple-macos13 --target-variant=arm64-apple-ios16-macabi -dynamiclib 94// then lipo'ed together. 95 96;--- Mismatch.yaml 97--- !fat-mach-o 98FatHeader: 99 magic: 0xCAFEBABE 100 nfat_arch: 2 101FatArchs: 102 - cputype: 0x1000007 103 cpusubtype: 0x3 104 offset: 0x1000 105 size: 20768 106 align: 12 107 - cputype: 0x100000C 108 cpusubtype: 0x0 109 offset: 0x8000 110 size: 49984 111 align: 14 112Slices: 113 - !mach-o 114 FileHeader: 115 magic: 0xFEEDFACF 116 cputype: 0x1000007 117 cpusubtype: 0x3 118 filetype: 0x6 119 ncmds: 15 120 sizeofcmds: 1584 121 flags: 0x100085 122 reserved: 0x0 123 LoadCommands: 124 - cmd: LC_SEGMENT_64 125 cmdsize: 312 126 segname: __TEXT 127 vmaddr: 0 128 vmsize: 12288 129 fileoff: 0 130 filesize: 12288 131 maxprot: 5 132 initprot: 5 133 nsects: 3 134 flags: 0 135 Sections: 136 - sectname: __text 137 segname: __TEXT 138 addr: 0x1090 139 size: 59 140 offset: 0x1090 141 align: 4 142 reloff: 0x0 143 nreloc: 0 144 flags: 0x80000400 145 reserved1: 0x0 146 reserved2: 0x0 147 reserved3: 0x0 148 content: 554889E5B8010000005DC30F1F440000554889E5B8010000005DC30F1F440000554889E5B8010000005DC30F1F440000554889E5B8010000005DC3 149 - sectname: __unwind_info 150 segname: __TEXT 151 addr: 0x10CC 152 size: 4152 153 offset: 0x10CC 154 align: 2 155 reloff: 0x0 156 nreloc: 0 157 flags: 0x0 158 reserved1: 0x0 159 reserved2: 0x0 160 reserved3: 0x0 161 content: 010000001C000000010000002000000000000000200000000200000000000001901000003800000038000000CB1000000000000038000000030000000C0001001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 162 - sectname: __eh_frame 163 segname: __TEXT 164 addr: 0x2108 165 size: 24 166 offset: 0x2108 167 align: 3 168 reloff: 0x0 169 nreloc: 0 170 flags: 0x6000000B 171 reserved1: 0x0 172 reserved2: 0x0 173 reserved3: 0x0 174 content: 1400000000000000017A520001781001100C070890010000 175 - cmd: LC_SEGMENT_64 176 cmdsize: 152 177 segname: __DATA_CONST 178 vmaddr: 12288 179 vmsize: 4096 180 fileoff: 12288 181 filesize: 4096 182 maxprot: 3 183 initprot: 3 184 nsects: 1 185 flags: 16 186 Sections: 187 - sectname: __objc_imageinfo 188 segname: __DATA_CONST 189 addr: 0x3000 190 size: 8 191 offset: 0x3000 192 align: 0 193 reloff: 0x0 194 nreloc: 0 195 flags: 0x0 196 reserved1: 0x0 197 reserved2: 0x0 198 reserved3: 0x0 199 content: '0000000040000000' 200 - cmd: LC_SEGMENT_64 201 cmdsize: 152 202 segname: __DATA 203 vmaddr: 16384 204 vmsize: 4096 205 fileoff: 16384 206 filesize: 4096 207 maxprot: 3 208 initprot: 3 209 nsects: 1 210 flags: 0 211 Sections: 212 - sectname: __data 213 segname: __DATA 214 addr: 0x4000 215 size: 8 216 offset: 0x4000 217 align: 2 218 reloff: 0x0 219 nreloc: 0 220 flags: 0x0 221 reserved1: 0x0 222 reserved2: 0x0 223 reserved3: 0x0 224 content: '0100000001000000' 225 - cmd: LC_SEGMENT_64 226 cmdsize: 72 227 segname: __LINKEDIT 228 vmaddr: 20480 229 vmsize: 288 230 fileoff: 20480 231 filesize: 288 232 maxprot: 1 233 initprot: 1 234 nsects: 0 235 flags: 0 236 - cmd: LC_DYLD_INFO_ONLY 237 cmdsize: 48 238 rebase_off: 0 239 rebase_size: 0 240 bind_off: 0 241 bind_size: 0 242 weak_bind_off: 0 243 weak_bind_size: 0 244 lazy_bind_off: 0 245 lazy_bind_size: 0 246 export_off: 20480 247 export_size: 88 248 - cmd: LC_SYMTAB 249 cmdsize: 24 250 symoff: 20576 251 nsyms: 7 252 stroff: 20688 253 strsize: 80 254 - cmd: LC_DYSYMTAB 255 cmdsize: 80 256 ilocalsym: 0 257 nlocalsym: 1 258 iextdefsym: 1 259 nextdefsym: 5 260 iundefsym: 6 261 nundefsym: 1 262 tocoff: 0 263 ntoc: 0 264 modtaboff: 0 265 nmodtab: 0 266 extrefsymoff: 0 267 nextrefsyms: 0 268 indirectsymoff: 0 269 nindirectsyms: 0 270 extreloff: 0 271 nextrel: 0 272 locreloff: 0 273 nlocrel: 0 274 - cmd: LC_ID_DYLIB 275 cmdsize: 96 276 dylib: 277 name: 24 278 timestamp: 0 279 current_version: 65536 280 compatibility_version: 65536 281 Content: '/System/Library/Frameworks/Mismatch.framework/Versions/A/Mismatch' 282 ZeroPadBytes: 7 283 - cmd: LC_UUID 284 cmdsize: 24 285 uuid: 4C4C4421-5555-3144-A16C-E4AA63D66775 286 - cmd: LC_BUILD_VERSION 287 cmdsize: 32 288 platform: 1 289 minos: 851968 290 sdk: 983040 291 ntools: 1 292 Tools: 293 - tool: 4 294 version: 1245184 295 - cmd: LC_BUILD_VERSION 296 cmdsize: 32 297 platform: 6 298 minos: 1048576 299 sdk: 1048576 300 ntools: 1 301 Tools: 302 - tool: 4 303 version: 1245184 304 - cmd: LC_LOAD_DYLIB 305 cmdsize: 56 306 dylib: 307 name: 24 308 timestamp: 0 309 current_version: 14942208 310 compatibility_version: 65536 311 Content: '/usr/lib/libobjc.A.dylib' 312 ZeroPadBytes: 8 313 - cmd: LC_LOAD_DYLIB 314 cmdsize: 56 315 dylib: 316 name: 24 317 timestamp: 0 318 current_version: 88539136 319 compatibility_version: 65536 320 Content: '/usr/lib/libSystem.B.dylib' 321 ZeroPadBytes: 6 322 - cmd: LC_FUNCTION_STARTS 323 cmdsize: 16 324 dataoff: 20568 325 datasize: 8 326 - cmd: LC_DATA_IN_CODE 327 cmdsize: 16 328 dataoff: 20576 329 datasize: 0 330 LinkEditData: 331 ExportTrie: 332 TerminalSize: 0 333 NodeOffset: 0 334 Name: '' 335 Flags: 0x0 336 Address: 0x0 337 Other: 0x0 338 ImportName: '' 339 Children: 340 - TerminalSize: 0 341 NodeOffset: 5 342 Name: _ 343 Flags: 0x0 344 Address: 0x0 345 Other: 0x0 346 ImportName: '' 347 Children: 348 - TerminalSize: 3 349 NodeOffset: 49 350 Name: inlinedFunc 351 Flags: 0x0 352 Address: 0x1090 353 Other: 0x0 354 ImportName: '' 355 - TerminalSize: 3 356 NodeOffset: 54 357 Name: foo 358 Flags: 0x0 359 Address: 0x10A0 360 Other: 0x0 361 ImportName: '' 362 Children: 363 - TerminalSize: 4 364 NodeOffset: 64 365 Name: Bar 366 Flags: 0x0 367 Address: 0x4000 368 Other: 0x0 369 ImportName: '' 370 - TerminalSize: 4 371 NodeOffset: 70 372 Name: unavailableSymbol 373 Flags: 0x0 374 Address: 0x4004 375 Other: 0x0 376 ImportName: '' 377 - TerminalSize: 3 378 NodeOffset: 76 379 Name: baz 380 Flags: 0x0 381 Address: 0x10C0 382 Other: 0x0 383 ImportName: '' 384 NameList: 385 - n_strx: 20 386 n_type: 0x1E 387 n_sect: 1 388 n_desc: 0 389 n_value: 4272 390 - n_strx: 2 391 n_type: 0xF 392 n_sect: 1 393 n_desc: 0 394 n_value: 4240 395 - n_strx: 15 396 n_type: 0xF 397 n_sect: 1 398 n_desc: 0 399 n_value: 4256 400 - n_strx: 25 401 n_type: 0xF 402 n_sect: 1 403 n_desc: 0 404 n_value: 4288 405 - n_strx: 30 406 n_type: 0xF 407 n_sect: 5 408 n_desc: 0 409 n_value: 16384 410 - n_strx: 38 411 n_type: 0xF 412 n_sect: 5 413 n_desc: 0 414 n_value: 16388 415 - n_strx: 57 416 n_type: 0x1 417 n_sect: 0 418 n_desc: 512 419 n_value: 0 420 StringTable: 421 - ' ' 422 - _inlinedFunc 423 - _foo 424 - _bar 425 - _baz 426 - _fooBar 427 - _unavailableSymbol 428 - dyld_stub_binder 429 - '' 430 - '' 431 - '' 432 - '' 433 - '' 434 - '' 435 FunctionStarts: [ 0x1090, 0x10A0, 0x10B0, 0x10C0 ] 436 - !mach-o 437 FileHeader: 438 magic: 0xFEEDFACF 439 cputype: 0x100000C 440 cpusubtype: 0x0 441 filetype: 0x6 442 ncmds: 16 443 sizeofcmds: 1104 444 flags: 0x100085 445 reserved: 0x0 446 LoadCommands: 447 - cmd: LC_SEGMENT_64 448 cmdsize: 232 449 segname: __TEXT 450 vmaddr: 0 451 vmsize: 16384 452 fileoff: 0 453 filesize: 16384 454 maxprot: 5 455 initprot: 5 456 nsects: 2 457 flags: 0 458 Sections: 459 - sectname: __text 460 segname: __TEXT 461 addr: 0x1050 462 size: 32 463 offset: 0x1050 464 align: 2 465 reloff: 0x0 466 nreloc: 0 467 flags: 0x80000400 468 reserved1: 0x0 469 reserved2: 0x0 470 reserved3: 0x0 471 content: 20008052C0035FD620008052C0035FD620008052C0035FD620008052C0035FD6 472 - sectname: __unwind_info 473 segname: __TEXT 474 addr: 0x1070 475 size: 4152 476 offset: 0x1070 477 align: 2 478 reloff: 0x0 479 nreloc: 0 480 flags: 0x0 481 reserved1: 0x0 482 reserved2: 0x0 483 reserved3: 0x0 484 content: 010000001C000000010000002000000000000000200000000200000000000002501000003800000038000000701000000000000038000000030000000C0001001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 485 - cmd: LC_SEGMENT_64 486 cmdsize: 152 487 segname: __DATA_CONST 488 vmaddr: 16384 489 vmsize: 16384 490 fileoff: 16384 491 filesize: 16384 492 maxprot: 3 493 initprot: 3 494 nsects: 1 495 flags: 16 496 Sections: 497 - sectname: __objc_imageinfo 498 segname: __DATA_CONST 499 addr: 0x4000 500 size: 8 501 offset: 0x4000 502 align: 0 503 reloff: 0x0 504 nreloc: 0 505 flags: 0x0 506 reserved1: 0x0 507 reserved2: 0x0 508 reserved3: 0x0 509 content: '0000000040000000' 510 - cmd: LC_SEGMENT_64 511 cmdsize: 152 512 segname: __DATA 513 vmaddr: 32768 514 vmsize: 16384 515 fileoff: 32768 516 filesize: 16384 517 maxprot: 3 518 initprot: 3 519 nsects: 1 520 flags: 0 521 Sections: 522 - sectname: __data 523 segname: __DATA 524 addr: 0x8000 525 size: 8 526 offset: 0x8000 527 align: 2 528 reloff: 0x0 529 nreloc: 0 530 flags: 0x0 531 reserved1: 0x0 532 reserved2: 0x0 533 reserved3: 0x0 534 content: '0100000001000000' 535 - cmd: LC_SEGMENT_64 536 cmdsize: 72 537 segname: __LINKEDIT 538 vmaddr: 49152 539 vmsize: 832 540 fileoff: 49152 541 filesize: 832 542 maxprot: 1 543 initprot: 1 544 nsects: 0 545 flags: 0 546 - cmd: LC_DYLD_INFO_ONLY 547 cmdsize: 48 548 rebase_off: 0 549 rebase_size: 0 550 bind_off: 0 551 bind_size: 0 552 weak_bind_off: 0 553 weak_bind_size: 0 554 lazy_bind_off: 0 555 lazy_bind_size: 0 556 export_off: 49152 557 export_size: 88 558 - cmd: LC_SYMTAB 559 cmdsize: 24 560 symoff: 49248 561 nsyms: 7 562 stroff: 49360 563 strsize: 80 564 - cmd: LC_DYSYMTAB 565 cmdsize: 80 566 ilocalsym: 0 567 nlocalsym: 1 568 iextdefsym: 1 569 nextdefsym: 5 570 iundefsym: 6 571 nundefsym: 1 572 tocoff: 0 573 ntoc: 0 574 modtaboff: 0 575 nmodtab: 0 576 extrefsymoff: 0 577 nextrefsyms: 0 578 indirectsymoff: 0 579 nindirectsyms: 0 580 extreloff: 0 581 nextrel: 0 582 locreloff: 0 583 nlocrel: 0 584 - cmd: LC_ID_DYLIB 585 cmdsize: 96 586 dylib: 587 name: 24 588 timestamp: 0 589 current_version: 65536 590 compatibility_version: 65536 591 Content: '/System/Library/Frameworks/Mismatch.framework/Versions/A/Mismatch' 592 ZeroPadBytes: 7 593 - cmd: LC_UUID 594 cmdsize: 24 595 uuid: 4C4C4428-5555-3144-A12B-7130A3C946D2 596 - cmd: LC_BUILD_VERSION 597 cmdsize: 32 598 platform: 1 599 minos: 851968 600 sdk: 983040 601 ntools: 1 602 Tools: 603 - tool: 4 604 version: 1245184 605 - cmd: LC_BUILD_VERSION 606 cmdsize: 32 607 platform: 6 608 minos: 1048576 609 sdk: 1048576 610 ntools: 1 611 Tools: 612 - tool: 4 613 version: 1245184 614 - cmd: LC_LOAD_DYLIB 615 cmdsize: 56 616 dylib: 617 name: 24 618 timestamp: 0 619 current_version: 14942208 620 compatibility_version: 65536 621 Content: '/usr/lib/libobjc.A.dylib' 622 ZeroPadBytes: 8 623 - cmd: LC_LOAD_DYLIB 624 cmdsize: 56 625 dylib: 626 name: 24 627 timestamp: 0 628 current_version: 88539136 629 compatibility_version: 65536 630 Content: '/usr/lib/libSystem.B.dylib' 631 ZeroPadBytes: 6 632 - cmd: LC_FUNCTION_STARTS 633 cmdsize: 16 634 dataoff: 49240 635 datasize: 8 636 - cmd: LC_DATA_IN_CODE 637 cmdsize: 16 638 dataoff: 49248 639 datasize: 0 640 - cmd: LC_CODE_SIGNATURE 641 cmdsize: 16 642 dataoff: 49440 643 datasize: 544 644 LinkEditData: 645 ExportTrie: 646 TerminalSize: 0 647 NodeOffset: 0 648 Name: '' 649 Flags: 0x0 650 Address: 0x0 651 Other: 0x0 652 ImportName: '' 653 Children: 654 - TerminalSize: 0 655 NodeOffset: 5 656 Name: _ 657 Flags: 0x0 658 Address: 0x0 659 Other: 0x0 660 ImportName: '' 661 Children: 662 - TerminalSize: 3 663 NodeOffset: 49 664 Name: inlinedFunc 665 Flags: 0x0 666 Address: 0x1050 667 Other: 0x0 668 ImportName: '' 669 - TerminalSize: 3 670 NodeOffset: 54 671 Name: foo 672 Flags: 0x0 673 Address: 0x1058 674 Other: 0x0 675 ImportName: '' 676 Children: 677 - TerminalSize: 4 678 NodeOffset: 64 679 Name: Bar 680 Flags: 0x0 681 Address: 0x8000 682 Other: 0x0 683 ImportName: '' 684 - TerminalSize: 4 685 NodeOffset: 70 686 Name: unavailableSymbol 687 Flags: 0x0 688 Address: 0x8004 689 Other: 0x0 690 ImportName: '' 691 - TerminalSize: 3 692 NodeOffset: 76 693 Name: baz 694 Flags: 0x0 695 Address: 0x1068 696 Other: 0x0 697 ImportName: '' 698 NameList: 699 - n_strx: 20 700 n_type: 0x1E 701 n_sect: 1 702 n_desc: 0 703 n_value: 4192 704 - n_strx: 2 705 n_type: 0xF 706 n_sect: 1 707 n_desc: 0 708 n_value: 4176 709 - n_strx: 15 710 n_type: 0xF 711 n_sect: 1 712 n_desc: 0 713 n_value: 4184 714 - n_strx: 25 715 n_type: 0xF 716 n_sect: 1 717 n_desc: 0 718 n_value: 4200 719 - n_strx: 30 720 n_type: 0xF 721 n_sect: 4 722 n_desc: 0 723 n_value: 32768 724 - n_strx: 38 725 n_type: 0xF 726 n_sect: 4 727 n_desc: 0 728 n_value: 32772 729 - n_strx: 57 730 n_type: 0x1 731 n_sect: 0 732 n_desc: 512 733 n_value: 0 734 StringTable: 735 - ' ' 736 - _inlinedFunc 737 - _foo 738 - _bar 739 - _baz 740 - _fooBar 741 - _unavailableSymbol 742 - dyld_stub_binder 743 - '' 744 - '' 745 - '' 746 - '' 747 - '' 748 - '' 749 FunctionStarts: [ 0x1050, 0x1058, 0x1060, 0x1068 ] 750... 751 752;--- inputs.json.in 753{ 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