[dotnet] Stop using ld_classic with Xcode 27. Fixes #25676 - #26639
rolfbjarne wants to merge 1 commit into
Conversation
Xcode 27 removed the classic linker and rejects -ld_classic. Prevent both regular and NativeAOT linking from forwarding the option when using Xcode 27 or newer.\n\nFixes #25676\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
Explicit overrides can still forward the removed linker option, and regression tests are needed.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Updates linker handling to stop forwarding -ld_classic with Xcode 27+, while preserving older-Xcode behavior.
Changes:
- Gates NativeAOT and regular linker handling by Xcode version.
- Retains classic linker behavior for older Xcode versions.
- Requires an unconditional override fix and regression coverage.
File summaries
| File | Summary |
|---|---|
dotnet/targets/Xamarin.Shared.Sdk.targets |
Applies Xcode-version checks to linker configuration; explicit true overrides can still pass -ld_classic on Xcode 27+, and tests are missing. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 2
- Review effort level: Lite
✅ API diff for current PR / commitNET (empty diffs)✅ API diff vs stableNET (empty diffs)ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
🔥 [CI Build #fc942d5] Test results 🔥Test results❌ Tests failed on VSTS: test results 0 tests crashed, 1 tests failed, 263 tests passed. Failures❌ monotouch tests (iOS) [attempt 2]1 tests failed, 24 tests passed.Failed tests
Html Report (VSDrops) Download Successes✅ assembly-processing: All 1 tests passed. Html Report (VSDrops) Download macOS tests✅ Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download Linux Build VerificationPipeline on Agent |
Xcode 27 removed the classic linker and rejects the
-ld_classicoption.Prevent both regular and NativeAOT linking from forwarding the option when using Xcode 27 or newer, while preserving the existing behavior with older Xcode versions.
Fixes #25676
🤖 Pull request created by Copilot