Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

bpo-41100: add runtime checks for MACOSX_DEPLOYMENT_TARGET=10.10#21576

Closed
lawrence-danna-apple wants to merge 2 commits into
python:masterpython/cpython:masterfrom
lawrence-danna-apple:postback-runtime-checkslawrence-danna-apple/cpython:postback-runtime-checksCopy head branch name to clipboard
Closed

bpo-41100: add runtime checks for MACOSX_DEPLOYMENT_TARGET=10.10#21576
lawrence-danna-apple wants to merge 2 commits into
python:masterpython/cpython:masterfrom
lawrence-danna-apple:postback-runtime-checkslawrence-danna-apple/cpython:postback-runtime-checksCopy head branch name to clipboard

Conversation

@lawrence-danna-apple

@lawrence-danna-apple lawrence-danna-apple commented Jul 21, 2020

Copy link
Copy Markdown
Contributor

In order to support a universal2 build, supporting Mac OS 11 on arm64 and Mac OS on
x86_64 going back to 10.10, we need to add in runtime checks for functions that will
be detected as present by autoconf, because they are in the SDK, but which did not
exist in Mac OS 10.10. This fixes all the instances of -WWunguarded-availability-new
when building with MACOSX_DEPLOYMENT_TARGET=10.10

https://bugs.python.org/issue41100

In order to support a universal2 build, supporitng Mac OS 11 on arm64 and Mac OS on
x86_64 going back to 10.10, we need to add in runtime checks for functions that will
be detected as present by autoconf, because they are in the SDK, but which did not
exist  in Mac OS 10.10.    This fixes all the instances of -WWunguarded-availability-new
when building with MACOSX_DEPLOYMENT_TARGET=10.10
@lawrence-danna-apple

Copy link
Copy Markdown
Contributor Author

oops, this isn't quite right yet.

@gh-doot

gh-doot commented Jul 21, 2020

Copy link
Copy Markdown

im just new to github.. what does that mean?

@lawrence-danna-apple lawrence-danna-apple deleted the postback-runtime-checks branch July 21, 2020 05:57
@lawrence-danna-apple

Copy link
Copy Markdown
Contributor Author

OK it's fixed now

Comment thread Modules/posixmodule.c
Comment on lines +89 to +90
#define HAVE_PREADV_RUNTIME __builtin_available(macos 10.16, ios 14, tvos 14, watchos 7, *)
#define HAVE_PWRITEV_RUNTIME __builtin_available(macos 10.16, ios 14, tvos 14, watchos 7, *)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Curious, what is the proper way to detect Big Sur, 10.16 or 11?

@sumanthratna sumanthratna Jul 21, 2020

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My understanding is that on current macs (with the Intel processor), upgrading to Big Sur will result in 10.16. However, on Apple Silicon, Big Sur will be 11.0.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's 11.0 for both Intel and Arm, however before the public disclosure it was marked as 10.16, so 10.16 appears in some of the headers like uio.h, and will be recognized by _builtin_available. I just copied 10.16 out of uio.h, but it's confusing so I'll change it to 11.0.

@lawrence-danna-apple

Copy link
Copy Markdown
Contributor Author

superseded by #21577

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.