Merge pull request #81340 from akien-mga/web-workaround-emscripten-3.1.42-lto-bug

Web: Workaround Emscripten 3.1.42+ LTO regression
This commit is contained in:
Rémi Verschelde 2023-09-06 13:50:39 +02:00 committed by GitHub
commit bceac8c34f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 2 deletions

View File

@ -7,7 +7,7 @@ env:
# Used for the cache key. Add version suffix to force clean build.
GODOT_BASE_BRANCH: master
SCONSFLAGS: verbose=yes warnings=extra werror=yes debug_symbols=no
EM_VERSION: 3.1.18
EM_VERSION: 3.1.45
EM_CACHE_FOLDER: "emsdk-cache"
concurrency:
@ -16,7 +16,7 @@ concurrency:
jobs:
web-template:
runs-on: "ubuntu-20.04"
runs-on: "ubuntu-22.04"
name: Template (target=template_release)
steps:

View File

@ -118,6 +118,11 @@ def configure(env: "Environment"):
else:
env.Append(CCFLAGS=["-flto"])
env.Append(LINKFLAGS=["-flto"])
# Workaround https://github.com/emscripten-core/emscripten/issues/19781.
cc_version = get_compiler_version(env)
cc_semver = (int(cc_version["major"]), int(cc_version["minor"]), int(cc_version["patch"]))
if cc_semver >= (3, 1, 42):
env.Append(LINKFLAGS=["-Wl,-u,scalbnf"])
# Sanitizers
if env["use_ubsan"]: