Projects like libc use mutually exclusive macros to compile files multiple times and then merge the result into the final library. For installapi to accept these, we'd need to parse the same declarations in different ways. This patch adds the basic pipelining for installapi to create the correct TBD file. * -Xproject allows: -fmodules, -fobjc-arc, fvisibility=hidden, prefix headers * -Xlabel allows: -D and -U settings * Error on 'private' and 'public' labels -X<label> * Xplatform allows: -iframework <path> This is to support the case where zippered frameworks want to pass in iOSSupport search path.
384 lines
19 KiB
YAML
384 lines
19 KiB
YAML
# Generated from:
|
|
# xcrun -sdk macosx clang --target=x86_64-apple-macos13 --target-variant=x86_64-apple-ios16-macabi
|
|
# -dynamiclib
|
|
#
|
|
#import "Zippered.h"
|
|
#import "Zippered_Private.h"
|
|
# MyType invalidAPI() { return 0; }
|
|
# int macOSAPI() { return 0; }
|
|
# int macOSAPI2() { return 0; }
|
|
# int iOSAPI() { return 0; }
|
|
# int commonAPI() { return 0; }
|
|
# int obsoletedMacOSAPI() { return 0; }
|
|
#
|
|
# #if __is_target_environment(macabi)
|
|
# int a = 0;
|
|
# UIImage *image = 0;
|
|
# #else
|
|
# long a = 0;
|
|
# NSImage *image = 0;
|
|
# #endif
|
|
|
|
--- !mach-o
|
|
FileHeader:
|
|
magic: 0xFEEDFACF
|
|
cputype: 0x1000007
|
|
cpusubtype: 0x3
|
|
filetype: 0x6
|
|
ncmds: 15
|
|
sizeofcmds: 1584
|
|
flags: 0x100085
|
|
reserved: 0x0
|
|
LoadCommands:
|
|
- cmd: LC_SEGMENT_64
|
|
cmdsize: 312
|
|
segname: __TEXT
|
|
vmaddr: 0
|
|
vmsize: 12288
|
|
fileoff: 0
|
|
filesize: 12288
|
|
maxprot: 5
|
|
initprot: 5
|
|
nsects: 3
|
|
flags: 0
|
|
Sections:
|
|
- sectname: __text
|
|
segname: __TEXT
|
|
addr: 0x1090
|
|
size: 88
|
|
offset: 0x1090
|
|
align: 4
|
|
reloff: 0x0
|
|
nreloc: 0
|
|
flags: 0x80000400
|
|
reserved1: 0x0
|
|
reserved2: 0x0
|
|
reserved3: 0x0
|
|
content: 554889E531C05DC30F1F840000000000554889E531C05DC30F1F840000000000554889E531C05DC30F1F840000000000554889E531C05DC30F1F840000000000554889E531C05DC30F1F840000000000554889E531C05DC3
|
|
- sectname: __unwind_info
|
|
segname: __TEXT
|
|
addr: 0x10E8
|
|
size: 4152
|
|
offset: 0x10E8
|
|
align: 2
|
|
reloff: 0x0
|
|
nreloc: 0
|
|
flags: 0x0
|
|
reserved1: 0x0
|
|
reserved2: 0x0
|
|
reserved3: 0x0
|
|
content: 010000001C000000010000002000000000000000200000000200000000000001901000003800000038000000E81000000000000038000000030000000C0001001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
|
- sectname: __eh_frame
|
|
segname: __TEXT
|
|
addr: 0x2120
|
|
size: 24
|
|
offset: 0x2120
|
|
align: 3
|
|
reloff: 0x0
|
|
nreloc: 0
|
|
flags: 0x6000000B
|
|
reserved1: 0x0
|
|
reserved2: 0x0
|
|
reserved3: 0x0
|
|
content: 1400000000000000017A520001781001100C070890010000
|
|
- cmd: LC_SEGMENT_64
|
|
cmdsize: 152
|
|
segname: __DATA_CONST
|
|
vmaddr: 12288
|
|
vmsize: 4096
|
|
fileoff: 12288
|
|
filesize: 4096
|
|
maxprot: 3
|
|
initprot: 3
|
|
nsects: 1
|
|
flags: 16
|
|
Sections:
|
|
- sectname: __objc_imageinfo
|
|
segname: __DATA_CONST
|
|
addr: 0x3000
|
|
size: 8
|
|
offset: 0x3000
|
|
align: 0
|
|
reloff: 0x0
|
|
nreloc: 0
|
|
flags: 0x0
|
|
reserved1: 0x0
|
|
reserved2: 0x0
|
|
reserved3: 0x0
|
|
content: '0000000040000000'
|
|
- cmd: LC_SEGMENT_64
|
|
cmdsize: 152
|
|
segname: __DATA
|
|
vmaddr: 16384
|
|
vmsize: 4096
|
|
fileoff: 16384
|
|
filesize: 0
|
|
maxprot: 3
|
|
initprot: 3
|
|
nsects: 1
|
|
flags: 0
|
|
Sections:
|
|
- sectname: __common
|
|
segname: __DATA
|
|
addr: 0x4000
|
|
size: 16
|
|
offset: 0x0
|
|
align: 3
|
|
reloff: 0x0
|
|
nreloc: 0
|
|
flags: 0x1
|
|
reserved1: 0x0
|
|
reserved2: 0x0
|
|
reserved3: 0x0
|
|
- cmd: LC_SEGMENT_64
|
|
cmdsize: 72
|
|
segname: __LINKEDIT
|
|
vmaddr: 20480
|
|
vmsize: 384
|
|
fileoff: 16384
|
|
filesize: 384
|
|
maxprot: 1
|
|
initprot: 1
|
|
nsects: 0
|
|
flags: 0
|
|
- cmd: LC_DYLD_INFO_ONLY
|
|
cmdsize: 48
|
|
rebase_off: 0
|
|
rebase_size: 0
|
|
bind_off: 0
|
|
bind_size: 0
|
|
weak_bind_off: 0
|
|
weak_bind_size: 0
|
|
lazy_bind_off: 0
|
|
lazy_bind_size: 0
|
|
export_off: 16384
|
|
export_size: 128
|
|
- cmd: LC_SYMTAB
|
|
cmdsize: 24
|
|
symoff: 16520
|
|
nsyms: 9
|
|
stroff: 16664
|
|
strsize: 104
|
|
- cmd: LC_DYSYMTAB
|
|
cmdsize: 80
|
|
ilocalsym: 0
|
|
nlocalsym: 0
|
|
iextdefsym: 0
|
|
nextdefsym: 8
|
|
iundefsym: 8
|
|
nundefsym: 1
|
|
tocoff: 0
|
|
ntoc: 0
|
|
modtaboff: 0
|
|
nmodtab: 0
|
|
extrefsymoff: 0
|
|
nextrefsyms: 0
|
|
indirectsymoff: 0
|
|
nindirectsyms: 0
|
|
extreloff: 0
|
|
nextrel: 0
|
|
locreloff: 0
|
|
nlocrel: 0
|
|
- cmd: LC_ID_DYLIB
|
|
cmdsize: 96
|
|
dylib:
|
|
name: 24
|
|
timestamp: 0
|
|
current_version: 65536
|
|
compatibility_version: 65536
|
|
Content: '/System/Library/Frameworks/Zippered.framework/Versions/A/Zippered'
|
|
ZeroPadBytes: 7
|
|
- cmd: LC_UUID
|
|
cmdsize: 24
|
|
uuid: 4C4C44B0-5555-3144-A126-166C8AB77CD1
|
|
- cmd: LC_BUILD_VERSION
|
|
cmdsize: 32
|
|
platform: 1
|
|
minos: 851968
|
|
sdk: 983040
|
|
ntools: 1
|
|
Tools:
|
|
- tool: 4
|
|
version: 1245184
|
|
- cmd: LC_BUILD_VERSION
|
|
cmdsize: 32
|
|
platform: 6
|
|
minos: 1048576
|
|
sdk: 1048576
|
|
ntools: 1
|
|
Tools:
|
|
- tool: 4
|
|
version: 1245184
|
|
- 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: 88539136
|
|
compatibility_version: 65536
|
|
Content: '/usr/lib/libSystem.B.dylib'
|
|
ZeroPadBytes: 6
|
|
- cmd: LC_FUNCTION_STARTS
|
|
cmdsize: 16
|
|
dataoff: 16512
|
|
datasize: 8
|
|
- cmd: LC_DATA_IN_CODE
|
|
cmdsize: 16
|
|
dataoff: 16520
|
|
datasize: 0
|
|
LinkEditData:
|
|
ExportTrie:
|
|
TerminalSize: 0
|
|
NodeOffset: 0
|
|
Name: ''
|
|
Flags: 0x0
|
|
Address: 0x0
|
|
Other: 0x0
|
|
ImportName: ''
|
|
Children:
|
|
- TerminalSize: 0
|
|
NodeOffset: 5
|
|
Name: _
|
|
Flags: 0x0
|
|
Address: 0x0
|
|
Other: 0x0
|
|
ImportName: ''
|
|
Children:
|
|
- TerminalSize: 4
|
|
NodeOffset: 53
|
|
Name: a
|
|
Flags: 0x0
|
|
Address: 0x4000
|
|
Other: 0x0
|
|
ImportName: ''
|
|
- TerminalSize: 0
|
|
NodeOffset: 59
|
|
Name: i
|
|
Flags: 0x0
|
|
Address: 0x0
|
|
Other: 0x0
|
|
ImportName: ''
|
|
Children:
|
|
- TerminalSize: 3
|
|
NodeOffset: 85
|
|
Name: OSAPI
|
|
Flags: 0x0
|
|
Address: 0x10C0
|
|
Other: 0x0
|
|
ImportName: ''
|
|
- TerminalSize: 4
|
|
NodeOffset: 90
|
|
Name: mage
|
|
Flags: 0x0
|
|
Address: 0x4008
|
|
Other: 0x0
|
|
ImportName: ''
|
|
- TerminalSize: 3
|
|
NodeOffset: 96
|
|
Name: nvalidAPI
|
|
Flags: 0x0
|
|
Address: 0x1090
|
|
Other: 0x0
|
|
ImportName: ''
|
|
- TerminalSize: 3
|
|
NodeOffset: 101
|
|
Name: obsoletedMacOSAPI
|
|
Flags: 0x0
|
|
Address: 0x10E0
|
|
Other: 0x0
|
|
ImportName: ''
|
|
- TerminalSize: 3
|
|
NodeOffset: 106
|
|
Name: macOSAPI
|
|
Flags: 0x0
|
|
Address: 0x10A0
|
|
Other: 0x0
|
|
ImportName: ''
|
|
Children:
|
|
- TerminalSize: 3
|
|
NodeOffset: 114
|
|
Name: '2'
|
|
Flags: 0x0
|
|
Address: 0x10B0
|
|
Other: 0x0
|
|
ImportName: ''
|
|
- TerminalSize: 3
|
|
NodeOffset: 119
|
|
Name: commonAPI
|
|
Flags: 0x0
|
|
Address: 0x10D0
|
|
Other: 0x0
|
|
ImportName: ''
|
|
NameList:
|
|
- n_strx: 2
|
|
n_type: 0xF
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4240
|
|
- n_strx: 14
|
|
n_type: 0xF
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4256
|
|
- n_strx: 24
|
|
n_type: 0xF
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4272
|
|
- n_strx: 35
|
|
n_type: 0xF
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4288
|
|
- n_strx: 43
|
|
n_type: 0xF
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4304
|
|
- n_strx: 54
|
|
n_type: 0xF
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4320
|
|
- n_strx: 73
|
|
n_type: 0xF
|
|
n_sect: 5
|
|
n_desc: 0
|
|
n_value: 16384
|
|
- n_strx: 76
|
|
n_type: 0xF
|
|
n_sect: 5
|
|
n_desc: 0
|
|
n_value: 16392
|
|
- n_strx: 83
|
|
n_type: 0x1
|
|
n_sect: 0
|
|
n_desc: 512
|
|
n_value: 0
|
|
StringTable:
|
|
- ' '
|
|
- _invalidAPI
|
|
- _macOSAPI
|
|
- _macOSAPI2
|
|
- _iOSAPI
|
|
- _commonAPI
|
|
- _obsoletedMacOSAPI
|
|
- _a
|
|
- _image
|
|
- dyld_stub_binder
|
|
- ''
|
|
- ''
|
|
- ''
|
|
- ''
|
|
FunctionStarts: [ 0x1090, 0x10A0, 0x10B0, 0x10C0, 0x10D0, 0x10E0 ]
|
|
...
|