diff --git a/DEPS b/DEPS index cbaf3ac343815..810d16d75848d 100644 --- a/DEPS +++ b/DEPS @@ -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"', diff --git a/testing/symbols/verify_exported.dart b/testing/symbols/verify_exported.dart index 2b822d08fea79..57598a59e8241 100644 --- a/testing/symbols/verify_exported.dart +++ b/testing/symbols/verify_exported.dart @@ -110,8 +110,90 @@ int _checkAndroid(String outPath, String nmPath, Iterable 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().equals(entryMap, expectedSymbols)) { + final Map badSymbols = {}; + 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.');