1
Fork 0

launcher: use `-mcpu=baseline`

This log message has been seen in a Github Actions worker:

      running <...>/c++ failed: signal: illegal instruction (core dumped)

I conclude that the launcher was compiled on a newer CPU than used on
the worker at the time.

Reported-by: mp@edgeless.systems

Fixes #22
main
Motiejus Jakštys 2023-03-21 12:43:08 +02:00 committed by Motiejus Jakštys
parent 765fd04587
commit cb46744cb8
2 changed files with 15 additions and 1 deletions

View File

@ -16,7 +16,12 @@ for target in \
x86_64-macos-none \ x86_64-macos-none \
x86_64-windows-gnu x86_64-windows-gnu
do do
$ZIG build-exe -fno-emit-bin -target $target toolchain/launcher.zig if [[ $target == aarch64-macos-none ]]; then
mcpu=apple_a14
else
mcpu=baseline
fi
$ZIG build-exe -fno-emit-bin -target $target -mcpu=$mcpu toolchain/launcher.zig
done done
echo "--- zig fmt --check toolchain/launcher.zig" echo "--- zig fmt --check toolchain/launcher.zig"

View File

@ -38,6 +38,14 @@ _HOST_PLATFORM_EXT = {
"windows-x86_64": "zip", "windows-x86_64": "zip",
} }
_MCPU = {
"linux-aarch64": "baseline",
"linux-x86_64": "baseline",
"macos-aarch64": "apple_a14",
"macos-x86_64": "baseline",
"windows-x86_64": "baseline",
}
_compile_failed = """ _compile_failed = """
Compilation of launcher.zig failed: Compilation of launcher.zig failed:
command={compile_cmd} command={compile_cmd}
@ -164,6 +172,7 @@ def _zig_repository_impl(repository_ctx):
compile_cmd = [ compile_cmd = [
_paths_join("..", "zig"), _paths_join("..", "zig"),
"build-exe", "build-exe",
"-mcpu={}".format(_MCPU[host_platform]),
"-OReleaseSafe", "-OReleaseSafe",
"launcher.zig", "launcher.zig",
] + (["-static"] if os == "linux" else []) ] + (["-static"] if os == "linux" else [])