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

Conversation

@chinmaygarde
Copy link
Member

The use of this macro in C++ translation units leads to the symbol visibility
being switched to default instead of hidden. This only happens in bitcode
enabled builds. A toolchain upgrade will be necessary to undo this workaround.

…lds.

The use of this macro in C++ translation units leads to the symbol visibility
being switched to default instead of hidden. This only happens in bitcode
enabled builds. A toolchain upgrade will be necessary to undo this workaround.
@chinmaygarde
Copy link
Member Author

chinmaygarde commented Mar 19, 2020

This patch needs https://skia-review.googlesource.com/c/skia/+/277775 to be rolled in. That is currently blocked on a test lab closure because of flooding.

@chinmaygarde
Copy link
Member Author

Toolchain upgrade is blocked on https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=47943

@chinmaygarde
Copy link
Member Author

Verified bitcode enabled release builds are fine after applying this patch. There is no presubmit for this.

$ nm -gUm out/ios_release_metal/Flutter.framework/Flutter 
00000000006ba770 (__DATA,__common) external _FlutterEndOfEventStream
00000000006ba768 (__DATA,__common) external _FlutterMethodNotImplemented
0000000000665930 (__DATA,__const) external _FlutterSemanticsUpdateNotification
0000000000665938 (__DATA,__const) external _FlutterViewControllerWillDealloc
00000000006b6db8 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterAppDelegate
00000000006b7808 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterBasicMessageChannel
00000000006b7998 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterBinaryCodec
00000000006b6ed0 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterCallbackCache
00000000006b6e80 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterCallbackInformation
00000000006b6ef8 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterDartProject
00000000006b6f48 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterEngine
00000000006b7858 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterError
00000000006b7948 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterEventChannel
00000000006b6fe8 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterHeadlessDartRunner
00000000006b7a38 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterJSONMessageCodec
00000000006b7a88 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterJSONMethodCodec
00000000006b78a8 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterMethodCall
00000000006b78f8 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterMethodChannel
00000000006b7268 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterPluginAppLifeCycleDelegate
00000000006b7c18 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterStandardMessageCodec
00000000006b7c68 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterStandardMethodCodec
00000000006b7b28 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterStandardReader
00000000006b7ad8 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterStandardReaderWriter
00000000006b7b78 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterStandardTypedData
00000000006b7bc8 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterStandardWriter
00000000006b79e8 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterStringCodec
00000000006b74e8 (__DATA,__objc_data) external _OBJC_CLASS_$_FlutterViewController
00000000006b6de0 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterAppDelegate
00000000006b7830 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterBasicMessageChannel
00000000006b79c0 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterBinaryCodec
00000000006b6ea8 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterCallbackCache
00000000006b6e58 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterCallbackInformation
00000000006b6f20 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterDartProject
00000000006b6f70 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterEngine
00000000006b7880 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterError
00000000006b7970 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterEventChannel
00000000006b7010 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterHeadlessDartRunner
00000000006b7a60 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterJSONMessageCodec
00000000006b7ab0 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterJSONMethodCodec
00000000006b78d0 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterMethodCall
00000000006b7920 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterMethodChannel
00000000006b7290 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterPluginAppLifeCycleDelegate
00000000006b7c40 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterStandardMessageCodec
00000000006b7c90 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterStandardMethodCodec
00000000006b7b50 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterStandardReader
00000000006b7b00 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterStandardReaderWriter
00000000006b7ba0 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterStandardTypedData
00000000006b7bf0 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterStandardWriter
00000000006b7a10 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterStringCodec
00000000006b7510 (__DATA,__objc_data) external _OBJC_METACLASS_$_FlutterViewController

tools/gn Outdated
gn_args['allow_deprecated_api_calls'] = True
# Bitcode enabled builds using the current version of the toolchain leak
# C++ symbols decorated with the availability attribute. Disable these
# attributess in release modes till the toolchain is updated.
Copy link
Member

Choose a reason for hiding this comment

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

typo: "attributes"

Copy link
Contributor

@dnfield dnfield left a comment

Choose a reason for hiding this comment

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

LGTM

@chinmaygarde
Copy link
Member Author

Waiting for #17214

@chinmaygarde chinmaygarde merged commit b1af234 into flutter:master Mar 20, 2020
@chinmaygarde chinmaygarde deleted the disable_api_available branch March 20, 2020 01:13
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 20, 2020
fluttergithubbot pushed a commit to flutter/flutter that referenced this pull request Mar 20, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants