[webkit-changes] [WebKit/WebKit] 5c4f26: [visionOS] WebKit incorrectly disables some SDK-al...

aestes noreply at github.com
Wed Oct 9 17:16:16 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5c4f26d0f5166c942f774fe09bbf5fe4043457f4
      https://github.com/WebKit/WebKit/commit/5c4f26d0f5166c942f774fe09bbf5fe4043457f4
  Author: Andy Estes <aestes at apple.com>
  Date:   2024-10-09 (Wed, 09 Oct 2024)

  Changed paths:
    M Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.mm
    M Source/WTF/wtf/spi/darwin/dyldSPI.h

  Log Message:
  -----------
  [visionOS] WebKit incorrectly disables some SDK-aligned behaviors in apps linked against 2024-era SDKs
https://bugs.webkit.org/show_bug.cgi?id=281166
rdar://137627482

Reviewed by Sihui Liu.

Starting in 2023-era SDKs, dyld stopped defining dyld_spring_* version macros, instead using macros
formatted as dyld_<major-release-year>_SU_<minor-version>_os_versions (e.g.,
dyld_2022_SU_E_os_versions, representing releases aligned with macOS 13.3 and iOS 16.4). Since
dyld_spring_2023_os_versions and dyld_spring_2024_os_versions were not defined in dyld_priv.h,
WebKit would fall back to comparing dyld_get_program_sdk_version() to DYLD_IOS_VERSION_16_4 and
DYLD_IOS_VERSION_17_4 respectively on visionOS. Since visionOS SDK versions are not aligned with
iOS versions, linkedBefore() would incorrectly return true and cause us to incorrectly disable some
SDK-aligned behaviors in apps where they should have been enabled.

Resolved this by replacing dyld_spring_2023_os_versions and dyld_spring_2024_os_versions with
dyld_2022_SU_E_os_versions and dyld_2023_SU_E_os_versions respectively. Added a FIXME to address
the issue where we compare dyld_get_program_sdk_version() to unaligned iOS versions on watchOS and
visionOS in Public SDK builds.

* Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.mm:
(WTF::computeSDKAlignedBehaviors):
* Source/WTF/wtf/spi/darwin/dyldSPI.h:

Canonical link: https://commits.webkit.org/284936@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list