aboutsummaryrefslogtreecommitdiff
path: root/src/target.zig
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2025-05-03 06:32:15 +0200
committerAlex Rønne Petersen <alex@alexrp.com>2025-05-03 10:54:36 +0200
commitd2f92e1797cf30c2fb0993d7e09de73e496144f5 (patch)
tree5ff3a50055955dc6fd586defaec9e180f22f6506 /src/target.zig
parentf6476e9caeadea0c0c6b18841dffcf72bffdd582 (diff)
downloadzig-d2f92e1797cf30c2fb0993d7e09de73e496144f5.tar.gz
zig-d2f92e1797cf30c2fb0993d7e09de73e496144f5.zip
compiler: Link libunwind when linking glibc statically.
glibc's libc.a depends on the functions provided by libunwind.
Diffstat (limited to 'src/target.zig')
-rw-r--r--src/target.zig4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/target.zig b/src/target.zig
index 1bafb1b8f7..21b701fc37 100644
--- a/src/target.zig
+++ b/src/target.zig
@@ -23,6 +23,10 @@ pub fn osRequiresLibC(target: std.Target) bool {
return target.os.requiresLibC();
}
+pub fn libCNeedsLibUnwind(target: std.Target, link_mode: std.builtin.LinkMode) bool {
+ return target.isGnuLibC() and link_mode == .static;
+}
+
pub fn libCxxNeedsLibUnwind(target: std.Target) bool {
return switch (target.os.tag) {
.macos,