Roll Clang to v11, roll buildroot to fe13f79dce4ce9aab3209f11988d825dcf580b4a, allow newly exported symbols (flutter/engine#17440)

* Buildroot to fe13f79dce4ce9aab3209f11988d825dcf580b4a

* whitelist more symbols
This commit is contained in:
Dan Field 2020-04-01 10:49:24 -07:00 committed by GitHub
parent fdfb501df7
commit 44327d8526
2 changed files with 86 additions and 4 deletions

6
DEPS
View File

@ -136,7 +136,7 @@ allowed_hosts = [
]
deps = {
'src': 'https://github.com/flutter/buildroot.git' + '@' + 'a0fb98af7b6f50f17b47ab7968f3f5664d0d6316',
'src': 'https://github.com/flutter/buildroot.git' + '@' + 'fe13f79dce4ce9aab3209f11988d825dcf580b4a',
# Fuchsia compatibility
#
@ -517,8 +517,8 @@ deps = {
'src/buildtools/{host_os}-x64/clang': {
'packages': [
{
'package': 'fuchsia/clang/${{platform}}',
'version': 'git_revision:de39621f0f03f20633bdfa50bde97a3908bf6e98'
'package': 'fuchsia/third_party/clang/${{platform}}',
'version': 'git_revision:7e9747b50bcb1be28d4a3236571e8050835497a6'
}
],
'condition': 'host_os == "mac" or host_os == "linux"',

View File

@ -110,8 +110,90 @@ int _checkAndroid(String outPath, String nmPath, Iterable<String> builds) {
'JNI_OnLoad': 'T',
'_binary_icudtl_dat_size': 'A',
'_binary_icudtl_dat_start': 'D',
// TODO(fxb/47943): Remove these once Clang lld does not expose them.
// arm
'__adddf3': 'T',
'__addsf3': 'T',
'__aeabi_cdcmpeq': 'T',
'__aeabi_cdcmple': 'T',
'__aeabi_cdrcmple': 'T',
'__aeabi_d2lz': 'T',
'__aeabi_d2uiz': 'T',
'__aeabi_d2ulz': 'T',
'__aeabi_dadd': 'T',
'__aeabi_dcmpeq': 'T',
'__aeabi_dcmpge': 'T',
'__aeabi_dcmpgt': 'T',
'__aeabi_dcmple': 'T',
'__aeabi_dcmplt': 'T',
'__aeabi_ddiv': 'T',
'__aeabi_dmul': 'T',
'__aeabi_drsub': 'T',
'__aeabi_dsub': 'T',
'__aeabi_f2d': 'T',
'__aeabi_fadd': 'T',
'__aeabi_frsub': 'T',
'__aeabi_fsub': 'T',
'__aeabi_i2d': 'T',
'__aeabi_i2f': 'T',
'__aeabi_l2d': 'T',
'__aeabi_l2f': 'T',
'__aeabi_lasr': 'T',
'__aeabi_ldivmod': 'T',
'__aeabi_llsl': 'T',
'__aeabi_llsr': 'T',
'__aeabi_ui2d': 'T',
'__aeabi_ui2f': 'T',
'__aeabi_uidiv': 'T',
'__aeabi_uidivmod': 'T',
'__aeabi_ul2d': 'T',
'__aeabi_ul2f': 'T',
'__aeabi_uldivmod': 'T',
'__ashldi3': 'T',
'__ashrdi3': 'T',
'__cmpdf2': 'T',
'__divdf3': 'T',
'__divdi3': 'T',
'__eqdf2': 'T',
'__extendsfdf2': 'T',
'__fixdfdi': 'T',
'__fixunsdfdi': 'T',
'__fixunsdfsi': 'T',
'__floatdidf': 'T',
'__floatdisf': 'T',
'__floatsidf': 'T',
'__floatsisf': 'T',
'__floatundidf': 'T',
'__floatundisf': 'T',
'__floatunsidf': 'T',
'__floatunsisf': 'T',
'__gedf2': 'T',
'__gnu_ldivmod_helper': 'T',
'__gnu_uldivmod_helper': 'T',
'__gtdf2': 'T',
'__ledf2': 'T',
'__lshrdi3': 'T',
'__ltdf2': 'T',
'__muldf3': 'T',
'__nedf2': 'T',
'__subdf3': 'T',
'__subsf3': 'T',
'__udivdi3': 'T',
'__udivsi3': 'T',
// arm64
'__clz_tab': 'R',
'__udivti3': 'T',
// arm64 && x64
'__emutls_get_address': 'T',
'__emutls_register_common': 'T',
};
if (!const MapEquality<String, String>().equals(entryMap, expectedSymbols)) {
final Map<String, String> badSymbols = <String, String>{};
for (final String key in entryMap.keys) {
if (entryMap[key] != expectedSymbols[key]) {
badSymbols[key] = entryMap[key];
}
}
if (badSymbols.isNotEmpty) {
print('ERROR: $libFlutter exports the wrong symbols');
print(' Expected $expectedSymbols');
print(' Library has $entryMap.');