[AOT] Don't set the 'CorrectedSynthesize' flag in the objc_imageinfo section. (#21451)
commit0463131f75cbb341def4b783c3295b82fde61b23
authorRolf Bjarne Kvinge <rolf@xamarin.com>
Tue, 19 Apr 2022 13:11:34 +0000 (19 15:11 +0200)
committerGitHub <noreply@github.com>
Tue, 19 Apr 2022 13:11:34 +0000 (19 15:11 +0200)
tree20773e3f91738418ee8045aacc1ef42587d302c9
parent4b5e2591eb299eb34d60b5217b14c1ad9f11e238
[AOT] Don't set the 'CorrectedSynthesize' flag in the objc_imageinfo section. (#21451)

* [AOT] Don't set the 'CorrectedSynthesize' flag in the objc_imageinfo section.

According to Apple's headers, it's not used anymore, and ignored.

However, with Xcode 13.3, it seems Apple has re-used this value for something
else, and it's causing warnings in the linker:

> ld: warning: '[...]/arm64/Xamarin.iOS.dll.o' was built with class_ro_t pointer signing enabled, but previous .o files were not

Fixes https://github.com/mono/mono/issues/21450.

Ref: https://opensource.apple.com/source/objc4/objc4-818.2/runtime/objc-abi.h.auto.html

* Don't set the 'CorrectedSynthesize' flag when using LLVM either.
mono/mini/aot-compiler.c
mono/mini/mini-llvm.c