# --- T2-COPYRIGHT-BEGIN --- # t2/package/*/c3c/multilib-crt.patch # Copyright (C) 2026 The T2 SDE Project # SPDX-License-Identifier: GPL-2.0 or patched project license # --- T2-COPYRIGHT-END --- Prefer the native 64-bit crt files in /usr/lib64 on multilib systems. --- a/src/compiler/linker.c +++ b/src/compiler/linker.c @@ -520,7 +520,9 @@ static const char *find_linux_crt(void) file_exists("/lib/aarch64-linux-gnu/libc.so.6") || file_exists("/usr/lib/aarch64-linux-gnu/libc.so.6"); INFO_LOG("is_musl: %d, glibc_system: %d, is_host: %d", is_musl, glibc_system, is_host_arch); - if (file_exists(arch_linux_crt1_path)) + // on multilib systems /usr/lib holds the 32-bit crt files + bool prefer_lib64 = compiler.platform.width_pointer == 64 && file_exists(arch_linux_64_crt1_path); + if (!prefer_lib64 && file_exists(arch_linux_crt1_path)) { if (!is_musl || !glibc_system) {