commit 9257669cd4ecb10c51baea2bccee993e0c82bd20 (tree)
parent 1b0be5c1cef5b4836f4315e294e4156fc9d0956c
Author: Andrew Kelley <andrew@ziglang.org>
Date: Thu, 16 Dec 2021 03:33:37 -0700
glibc: do not pass -DSHARED to any of the libc_nonshared.a sources
This essentially reverts 6a12dce207114842e2e49a3aeb18af01ab207f0b but it
leaves breadcrumbs in the source explaining why things are the way they
are.
Diffstat:
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/glibc.zig b/src/glibc.zig
@@ -335,8 +335,11 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile) !void {
}
const shared_def = switch (dep.flavor) {
- .shared => "-DSHARED",
.nonshared => "-DLIBC_NONSHARED=1",
+ // glibc passes `-DSHARED` for these. However, empirically if
+ // we do that here we will see undefined symbols such as `__GI_memcpy`.
+ // So we pass the same thing as for nonshared.
+ .shared => "-DLIBC_NONSHARED=1",
};
try args.appendSlice(&[_][]const u8{
"-D_LIBC_REENTRANT",