[release/10.0] Unify native API availability probes - #134329
Merged
akoeplinger merged 1 commit intoSep 23, 2026
Merged
akoeplinger merged 1 commit into
akoeplinger merged 1 commit into
Conversation
Backport e83e69b (dotnet#134073), adapting the PAL probe because the earlier pipe2 fix is absent. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: efb15d16-e184-4ac5-9673-69a0e061f9bb
akoeplinger
requested review from
a team,
AaronRobinsonMSFT and
janvorli
as code owners
September 21, 2026 10:36
|
Azure Pipelines: Successfully started running 3 pipeline(s). 13 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
Contributor
|
Tagging subscribers to this area: @dotnet/runtime-infrastructure |
Member
Author
|
build-only change necessary to support newer Xcode versions, marking Servicing-approved |
Contributor
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
No unresolved review issues were identified.
Review effort: Lite
Findings: None
What changed in this PR
Unifies native API availability probes for Xcode 27 compatibility.
Changes:
- Centralizes deployment-target availability enforcement.
- Standardizes header-aware,
_GNU_SOURCE-scopedpipe2probes. - Preserves CMake probe state.
| File | Description |
|---|---|
src/native/libs/configure.cmake |
Updates the native library probe. |
src/native/external/libunwind_extras/configure.cmake |
Updates the libunwind probe. |
src/coreclr/pal/src/configure.cmake |
Updates the PAL probe. |
eng/native/configurecompiler.cmake |
Centralizes availability-warning enforcement. |
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
lewing
approved these changes
Sep 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backport of #134073.
Description
These changes are required for compiling with Xcode 27.
Move supported
-Werror=unguarded-availabilityenforcement into shared native compiler configuration so API probes respect the deployment target regardless of CMake configuration order. Use consistent, header-aware Cpipe2probes in PAL, libunwind extras, and native libraries, with_GNU_SOURCEscoped to each probe using CMake check-state push/pop.Customer Impact
Building with Xcode 27 can incorrectly detect
pipe2as available for older macOS deployment targets, causing build failures or selecting an API unavailable on the target OS. Shared probe results can otherwise depend on which native component configures first.Regression
Exposed by newer Apple SDK declarations; not established as a regression introduced by this release.
Testing
CI testing
Risk
Low: limited to native CMake feature detection, with no runtime implementation changes. Availability enforcement is compiler-support gated, and
_GNU_SOURCEis scoped to the individual checks. Targeted checks verify flag propagation and probe-state preservation on this branch.