building for arm targets by default passes --target to clang, because it assumes it's cross compiling (so passes --target as if the host is different, instead of assuming default) probably also works: removing this entirely. but to be safe, pass the alpine clang host triple -- --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn @@ -915,8 +915,8 @@ config("compiler_cpu_abi") { } else if (current_cpu == "arm") { if (is_clang && !is_android && !is_nacl && !(is_chromeos_lacros && is_chromeos_device)) { - cflags += [ "--target=arm-linux-gnueabihf" ] - ldflags += [ "--target=arm-linux-gnueabihf" ] + cflags += [ "--target=armv7-alpine-linux-musleabihf" ] + ldflags += [ "--target=armv7-alpine-linux-musleabihf" ] } if (!is_nacl) { cflags += [ @@ -930,8 +930,8 @@ config("compiler_cpu_abi") { } else if (current_cpu == "arm64") { if (is_clang && !is_android && !is_nacl && !is_fuchsia && !(is_chromeos_lacros && is_chromeos_device)) { - cflags += [ "--target=aarch64-linux-gnu" ] - ldflags += [ "--target=aarch64-linux-gnu" ] + cflags += [ "--target=aarch64-alpine-linux-musl" ] + ldflags += [ "--target=aarch64-alpine-linux-musl" ] } if (is_android) { # Outline atomics crash on Exynos 9810. http://crbug.com/1272795