Skip to content

Check compatibility with macOS deployment target during JIT builds #134291

Open
@zanieb

Description

@zanieb

As with #100384, we should ensure that symbols use is guarded or the interpreter will crash at runtime on older macOS platforms.

There are a couple violations for a target of 10.15 (which we agreed on in #128155):

cpython-3.14> Python/jit.c:530:5: error: 'pthread_jit_write_protect_np' is only available on macOS 11.0 or newer [-Werror,-Wunguarded-availability-new]
cpython-3.14>   530 |     pthread_jit_write_protect_np(0);
cpython-3.14>       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
cpython-3.14> /Applications/Xcode_15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/pthread.h:588:6: note: 'pthread_jit_write_protect_np' has been marked as being introduced in macOS 11.0 here, but the deployment target is macOS 10.15.0
cpython-3.14>   588 | void pthread_jit_write_protect_np(int enabled);
cpython-3.14>       |      ^
cpython-3.14> Python/jit.c:530:5: note: enclose 'pthread_jit_write_protect_np' in a __builtin_available check to silence this warning
cpython-3.14>   530 |     pthread_jit_write_protect_np(0);
cpython-3.14>       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
cpython-3.14> Python/jit.c:570:5: error: 'pthread_jit_write_protect_np' is only available on macOS 11.0 or newer [-Werror,-Wunguarded-availability-new]
cpython-3.14>   570 |     pthread_jit_write_protect_np(1);
cpython-3.14>       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
cpython-3.14> /Applications/Xcode_15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/pthread.h:588:6: note: 'pthread_jit_write_protect_np' has been marked as being introduced in macOS 11.0 here, but the deployment target is macOS 10.15.0
cpython-3.14>   588 | void pthread_jit_write_protect_np(int enabled);
cpython-3.14>       |      ^
cpython-3.14> Python/jit.c:570:5: note: enclose 'pthread_jit_write_protect_np' in a __builtin_available check to silence this warning
cpython-3.14>   570 |     pthread_jit_write_protect_np(1);
cpython-3.14>       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
cpython-3.14> 2 errors generated.

Linked PRs

Metadata

Metadata

Labels

OS-macbuildThe build process and cross-buildtopic-JITtype-featureA feature request or enhancement

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions