Skip to content
This repository has been archived by the owner on Feb 25, 2025. It is now read-only.

Fix _availability_version_check for iOS 11 and 12 #48624

Merged
merged 1 commit into from
Dec 11, 2023

Conversation

zanderso
Copy link
Member

@zanderso zanderso commented Dec 4, 2023

This PR ports more of the implementation of availability checking from clang-rt into the Engine. In particular, when the call to look up the symbol _availability_version_check fails, this PR falls back on reading the platform version information out of a plist file at a well-known location, as is done here.

This change fixes a mistake in #44711, which didn't account for _availability_version_check not being available on iOS 11 and 12.

Fixes flutter/flutter#138711

@zanderso
Copy link
Member Author

zanderso commented Dec 5, 2023

@chinmaygarde if this fixes the issue on the device you have, then this PR is ready for review.

@zanderso zanderso requested a review from dnfield December 5, 2023 16:26
@chinmaygarde chinmaygarde self-assigned this Dec 5, 2023
@chinmaygarde
Copy link
Member

I can confirm that there was a crash fixed by this patch on iPhone 6 (iOS 12.5.7). Reviewing.
flutter_01

@chinmaygarde chinmaygarde removed their assignment Dec 11, 2023
@zanderso zanderso force-pushed the availability-check-fix branch 2 times, most recently from c8f07fd to bfdedb9 Compare December 11, 2023 17:07
@zanderso zanderso force-pushed the availability-check-fix branch from bfdedb9 to a027917 Compare December 11, 2023 19:04
@zanderso zanderso merged commit 5587d26 into flutter:main Dec 11, 2023
@zanderso zanderso deleted the availability-check-fix branch December 11, 2023 19:51
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 11, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Dec 11, 2023
…139933)

flutter/engine@9b85b76...5587d26

2023-12-11 [email protected] Fix _availability_version_check for iOS 11 and 12 (flutter/engine#48624)
2023-12-11 [email protected] [Impeller] remove trace events that have outlived their usefulness. (flutter/engine#48856)
2023-12-11 [email protected] Fix css changes with macOS 13 and Safari (flutter/engine#48807)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
zanderso added a commit to zanderso/engine that referenced this pull request Dec 12, 2023
This PR ports more of the implementation of availability checking from
clang-rt into the Engine. In particular, when the call to look up the
symbol `_availability_version_check` fails, this PR falls back on
reading the platform version information out of a plist file at a
well-known location, as is done
[here](https://github.com/llvm/llvm-project/blob/2fd66e6eb659701b9d4c88708d55d5854a246815/compiler-rt/lib/builtins/os_version_check.c#L163).

This change fixes a mistake in
flutter#44711, which didn't account for
`_availability_version_check` not being available on iOS 11 and 12.

Fixes flutter/flutter#138711
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
2 participants