Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 07f79c932d8fe2bc106eeae5482560190cf7b9a9
      
https://github.com/WebKit/WebKit/commit/07f79c932d8fe2bc106eeae5482560190cf7b9a9
  Author: Elliott Williams <[email protected]>
  Date:   2025-12-13 (Sat, 13 Dec 2025)

  Changed paths:
    M Source/JavaScriptCore/Configurations/AllowedSPI.toml
    M Source/JavaScriptCore/llint/LLIntData.h

  Log Message:
  -----------
  [JavaScriptCore] os_script_config_storage is not available when back-deploying
https://bugs.webkit.org/show_bug.cgi?id=303933
rdar://166241210

Unreviewed, reland of 304386@main with an AllowedSPI cleanup:

    Reviewed by Mark Lam.

    Fix two issues related to back-deploying from recent SDKs to Sonoma and
    Sequoia downlevels:

    1. We were using the presence of a macro in <os/script_config_private.h>
       to determine whether to compile with os_script_config_storage runtime
       support. When back deploying, that macro may exist even when the
       system being targeted does not have runtime support.

       Replace the HAVE_OS_SCRIPT_CONFIG_SPI check with one from
       WebKitAdditions based on deployment target version.

    2. When we are in the fallback configuration where we allocate our own
       buffer, JSC was redeclaring a `os_script_config_storage` using the
       same name as the declaration from the system header. This confused
       the compiler into thinking that we are attempting to use a
       declaration from the SDK that is marked unavailable.

       Work around this by giving the declaration a different name
       (os_script_config_storage_stub) and manually renaming its symbol so
       that LLInt can still bind to it.

    Also, do not export the stub symbol; it's only used within JSC.

Because the stub symbol is no longer exported, and because libSystem is
implicitly treated as API, audit-spi now flags the
os_script_config_storage entry, so remove it.

* Source/JavaScriptCore/Configurations/AllowedSPI.toml:
* Source/JavaScriptCore/llint/LLIntData.h:

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



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

Reply via email to