Skip to content

Commit

Permalink
[release/7.0.1xx-xcode14-rc2] Disable objc_msgSend stubs in clang. Fixes
Browse files Browse the repository at this point in the history
 #16223. (#16232)

Clang will by default emit objc_msgSend stubs in Xcode 14, which ld from
earlier Xcodes doesn't understand. We disable this by passing
-fno-objc-msgsend-selector-stubs to clang.

Ref: https://developer.apple.com/videos/play/wwdc2022/110363/
Ref: https://www.wwdcnotes.com/notes/wwdc22/110363/
Ref: llvm/llvm-project#56034

Fixes #16223.

Backport of #16231

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
  • Loading branch information
1 parent a51b91d commit 88043e4
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion Make.config
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,11 @@ endif

SIMULATOR_SDK=$(XCODE_DEVELOPER_ROOT)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator$(IOS_SDK_VERSION).sdk

OBJC_CFLAGS=-ObjC++ -std=c++14 -fno-exceptions -stdlib=libc++
# Clang will by default emit objc_msgSend stubs in Xcode 14, which ld from earlier Xcodes doesn't understand.
# We disable this by passing -fno-objc-msgsend-selector-stubs to clang.
# We can probably remove this flag once we require developers to use Xcode 14.
# Ref: https://github.com/xamarin/xamarin-macios/issues/16223
OBJC_CFLAGS=-ObjC++ -std=c++14 -fno-exceptions -stdlib=libc++ -fno-objc-msgsend-selector-stubs

COMMON_SIMULATOR_CFLAGS=-mios-simulator-version-min=$(MIN_IOS_SDK_VERSION) -isysroot $(SIMULATOR_SDK) $(CFLAGS) -g $(IOS_COMMON_DEFINES)
SIMULATOR86_CFLAGS=$(COMMON_SIMULATOR_CFLAGS) -arch i386
Expand Down

5 comments on commit 88043e4

@vs-mobiletools-engineering-service2
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

❌ [CI Build] Tests on macOS Mac Catalina (10.15) failed ❌

No test package could be found for tests on macOS Mac Catalina (10.15)

Pipeline on Agent
Hash: 88043e43cc5f7307346d9db648402df52ce655d5 [CI build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

❌ [CI Build] Tests on macOS M1 - Mac Big Sur (11.5) failed ❌

No test package could be found for tests on macOS M1 - Mac Big Sur (11.5)

Pipeline on Agent
Hash: 88043e43cc5f7307346d9db648402df52ce655d5 [CI build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

✅ API diff for current PR / commit

Legacy Xamarin (No breaking changes)
  • iOS (no change detected)
  • tvOS (no change detected)
  • watchOS (no change detected)
.NET (No breaking changes)

✅ API diff vs stable

Legacy Xamarin (No breaking changes)
.NET (No breaking changes)
Legacy Xamarin (stable) vs .NET

✅ Generator diff

Generator diff is empty

Pipeline on Agent
Hash: 88043e43cc5f7307346d9db648402df52ce655d5 [CI build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

🔥 [CI Build] Test results 🔥

Test results

❌ Tests failed on VSTS: simulator tests

3 tests crashed, 2 tests failed, 132 tests passed.

Failures

❌ framework tests

2 tests failed, 3 tests passed.
  • framework-test/tvOS - simulator/Debug [dotnet]: LaunchTimedOut
  • framework-test/tvOS - simulator/Debug: LaunchTimedOut

Html Report (VSDrops) Download

❌ install_source tests

🔥 Failed catastrophically on VSTS: simulator tests - install_source (no summary found).

Html Report (VSDrops) Download

❌ monotouch tests

🔥 Failed catastrophically on VSTS: simulator tests - monotouch (no summary found).

Html Report (VSDrops) Download

❌ xcframework tests

🔥 Failed catastrophically on VSTS: simulator tests - xcframework (no summary found).

Html Report (VSDrops) Download

Successes

✅ bcl: All 59 tests passed. Html Report (VSDrops) Download
✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests: All 1 tests passed. Html Report (VSDrops) Download
✅ fsharp: All 5 tests passed. Html Report (VSDrops) Download
✅ generator: All 2 tests passed. Html Report (VSDrops) Download
✅ interdependent_binding_projects: All 5 tests passed. Html Report (VSDrops) Download
✅ introspection: All 5 tests passed. Html Report (VSDrops) Download
✅ linker: All 38 tests passed. Html Report (VSDrops) Download
⚠️ mac_binding_project: No tests selected. Html Report (VSDrops) Download
⚠️ mmp: No tests selected. Html Report (VSDrops) Download
✅ mononative: All 8 tests passed. Html Report (VSDrops) Download
✅ msbuild: All 2 tests passed. Html Report (VSDrops) Download
✅ mtouch: All 1 tests passed. Html Report (VSDrops) Download
⚠️ xammac: No tests selected. Html Report (VSDrops) Download
✅ xtro: All 2 tests passed. Html Report (VSDrops) Download

Pipeline on Agent
Hash: [CI build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

📚 [CI Build] Artifacts 📚

Packages generated

View packages

Pipeline on Agent XAMMINI-066.Monterey'
Hash: 88043e43cc5f7307346d9db648402df52ce655d5 [CI build]

Please sign in to comment.