From 07c93cb103c8010b97a91029e15e1b238fbe5eb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Sun, 18 May 2025 22:24:42 +0200 Subject: [PATCH] compiler-rt: Add a comment explaining why we currently need weak linkage. --- lib/compiler_rt/common.zig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/compiler_rt/common.zig b/lib/compiler_rt/common.zig index 4a38c1ca2d..a5b9166630 100644 --- a/lib/compiler_rt/common.zig +++ b/lib/compiler_rt/common.zig @@ -3,6 +3,9 @@ const builtin = @import("builtin"); const native_endian = builtin.cpu.arch.endian(); const ofmt_c = builtin.object_format == .c; +/// For now, we prefer weak linkage because some of the routines we implement here may also be +/// provided by system/dynamic libc. Eventually we should be more disciplined about this on a +/// per-symbol, per-target basis: https://github.com/ziglang/zig/issues/11883 pub const linkage: std.builtin.GlobalLinkage = if (builtin.is_test) .internal else if (ofmt_c)