[SPI Checking] Add partial SDKDBs for current iOS SDK and enable analysis#44376
Conversation
ab6cf10 to
2ae196c
Compare
|
EWS run on previous version of this PR (hash 2ae196c) Details |
2ae196c to
1f5364d
Compare
|
EWS run on previous version of this PR (hash 1f5364d) Details |
1f5364d to
d8bf110
Compare
|
EWS run on previous version of this PR (hash d8bf110) Details |
Here's what that patch will actually look like: emw-apple/WebKit@emw-apple:eng/SPI-Checking-Add-partial-SDKDBs-for-current-iOS-SDK-and-enable-analysis...emw-apple:WebKit:eng/spi-checking-iphoneos18.4-sdkdb |
gsnedders
left a comment
There was a problem hiding this comment.
Here's what that patch will actually look like: emw-apple/WebKit@emw-apple:eng/SPI-Checking-Add-partial-SDKDBs-for-current-iOS-SDK-and-enable-analysis...emw-apple:WebKit:eng/spi-checking-iphoneos18.4-sdkdb
I don't think the diff is awful.
To note, of the -2.5k deletions:
368 are - "target": "arm64{,e}-apple-ios18.2".
Some of the changes, like AVPlayerMediaSelectionCriteria's initWithPreferredLanguages:preferredMediaCharacteristics: seem like they're purely reordering?
The biggest category of changes, and the one that slightly worries me, seems to be globals removing "unavailable": true. We don't seem to ever read unavailable, and I'm not totally sure what it refers to — is this just symbols marked as unavailable on that platform? If so, we can likely filter them out while they're unavailable, because it effectively means they don't exist. Otherwise, we should probably be checking they're unused?
We should figure out the answer to that last point before landing this, IMO — as otherwise we might be bogusly allowing SPI?
d8bf110 to
eb82148
Compare
|
EWS run on current version of this PR (hash eb82148) Details |
Good catch – it looks like
I think these are fine. |
…ysis https://bugs.webkit.org/show_bug.cgi?id=291613 rdar://149358945 Reviewed by Sam Sneddon and Jonathan Bedard. Add partial SDKDB records for iOS 18.2. These are generated using `tapi sdkdb` from the public SDK image, and are named according to the public libraries they represent (though, for brevity, the binary info is stripped from SDKDB content). This is a lot of data to check in, but as JSON blobs, SDKDBs compress well (the objects are 2.3MB compared to 24MB in tree), and are relatively stable between OS versions. For example, while this introductory patch is 333K LOC, the patch to update for iOS 18.4 is 10824 insertions(+), 2430 deletions(-). Enable auditing for open-source iOS builds and change some audit-spi invocation logic to make it possible to audit with newer versions of iOS than the one we've checked in records for. * Configurations/CommonBase.xcconfig: * Configurations/WebKitProjectPaths.xcconfig: * Source/WTF/Scripts/audit-spi-if-needed.sh: * WebKitLibraries/SDKDBs/iphoneos18.2/: Lots of partial SDKDBs added. Canonical link: https://commits.webkit.org/294570@main
eb82148 to
8a618fa
Compare
|
Committed 294570@main (8a618fa): https://commits.webkit.org/294570@main Reviewed commits have been landed. Closing PR #44376 and removing active labels. |
8a618fa
eb82148