• Ivan Matkov's avatar
    Update GCC version to 10 (#1132) · c2cc37a0
    Ivan Matkov authored
    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.
    c2cc37a0
Name
Last commit
Last update
.github Loading commit data...
.run Loading commit data...
gradle/wrapper Loading commit data...
samples Loading commit data...
skiko Loading commit data...
.gitignore Loading commit data...
DEVELOPMENT.md Loading commit data...
LICENSE Loading commit data...
NOTICE Loading commit data...
README.md Loading commit data...
dependencies.toml Loading commit data...
gradle.properties Loading commit data...
gradlew Loading commit data...
gradlew.bat Loading commit data...
settings.gradle.kts Loading commit data...