[release/6.0] Disable objc_msgSend stubs in clang for compatibility with Xcode 13#91118
Conversation
…ith Xcode 13 Backport of dotnet#89932 and dotnet#90217 to release/6.0
|
Tagging subscribers to 'os-ios': @steveisok, @akoeplinger, @kotlarmilos Issue DetailsBackport of #89932 and #90217 to release/6.0 Customer ImpactAs soon as we're updating the macOS build machine image used to build dotnet/runtime to one that uses Xcode 14 the native build of Objective-C code will start emitting objc_msgSend stubs. This causes the native libraries to fail during linking with the linker in Xcode 13, effectively preventing Mac/iOS/tvOS apps from working. Note that this can happen automatically if AzDO updates the macOS build images. The fix is to disable the objc_msgSend stubs via a compiler flag, following what xamarin-macios did a while ago: dotnet/macios#16231 TestingCI and local testing RiskLow. The PR adds an additional compiler flag to every .m Objective-C file to prevent the new Xcode 14 behavior.
|
|
Tagging subscribers to this area: @dotnet/runtime-infrastructure Issue DetailsBackport of #89932 and #90217 to release/6.0 Customer ImpactAs soon as we're updating the macOS build machine image used to build dotnet/runtime to one that uses Xcode 14 the native build of Objective-C code will start emitting objc_msgSend stubs. This causes the native libraries to fail during linking with the linker in Xcode 13, effectively preventing Mac/iOS/tvOS apps from working. Note that this can happen automatically if AzDO updates the macOS build images. The fix is to disable the objc_msgSend stubs via a compiler flag, following what xamarin-macios did a while ago: dotnet/macios#16231 TestingCI and local testing RiskLow. The PR adds an additional compiler flag to every .m Objective-C file to prevent the new Xcode 14 behavior.
|
|
Approved by tactics over email. Failures are known issues. |
Backport of #89932 and #90217 to release/6.0
Customer Impact
As soon as we're updating the macOS build machine image used to build dotnet/runtime to one that uses Xcode 14 the native build of Objective-C code will start emitting objc_msgSend stubs. This causes the native libraries to fail during linking with the linker in Xcode 13, effectively preventing Mac/iOS/tvOS apps from working. Note that this can happen automatically if AzDO updates the macOS build images.
The fix is to disable the objc_msgSend stubs via a compiler flag, following what xamarin-macios did a while ago: dotnet/macios#16231
Testing
CI and local testing
Risk
Low. The PR adds an additional compiler flag to every .m Objective-C file to prevent the new Xcode 14 behavior.