Update GCC version to 10 (#1132)
In 0.9.36, there was a missing symbol that caused ``` libskiko-linux-x64.so: undefined symbol: _ZNSt19_Sp_make_shared_tag5_S_eqERKSt9type_info ``` It's because the build attempts to statically link the C++ standard library, but: - Skia's object files reference newer libstdc++ symbols - GCC 7.3's `libstdc++` doesn't contain these symbols - The static linking fails to resolve these symbols GCC was downgraded from 9 to 7 in #1130 during the switch to AL2 to provide better GLIBC compatibility. Since AL2 [provides](https://docs.aws.amazon.com/linux/al2/ug/c-cplusplus.html) only GCC 7.3 by default and GCC 10, installing GCC 9 is problematic there, so it's bumped to 10 However, GCC 10 introduces outline atomics as default for new ARM chips, the build might fail due to missing symbols like ``` org_jetbrains_skia_FontMgrWithFallback__1nDefaultWithFallbackFontProvider: error: undefined reference to '__aarch64_ldadd4_relax' org_jetbrains_skia_FontMgrWithFallback__1nDefaultWithFallbackFontProvider: error: undefined reference to '__aarch64_ldadd4_acq_rel' ``` so, to keep things compatible with the previous GCC version, `-mno-outline-atomics` option was added to disable this new behavior.
Showing
Please register or sign in to comment