aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2024-04-07 21:19:12 -0400
committerJacob Young <jacobly0@users.noreply.github.com>2024-04-08 13:20:14 -0400
commitfcdb7027e9f606cf0f4415daee73cb717affe69e (patch)
tree8bbcc034da247436ae77b10fb19321cb443d49a7 /src
parent0c83fa2fd03fec86c4e36075978646f202deec32 (diff)
downloadzig-fcdb7027e9f606cf0f4415daee73cb717affe69e.tar.gz
zig-fcdb7027e9f606cf0f4415daee73cb717affe69e.zip
haiku: fix linking issues
Diffstat (limited to 'src')
-rw-r--r--src/link/Elf.zig7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/link/Elf.zig b/src/link/Elf.zig
index c20a4b6afa..72937cd628 100644
--- a/src/link/Elf.zig
+++ b/src/link/Elf.zig
@@ -1517,7 +1517,7 @@ fn dumpArgv(self: *Elf, comp: *Compilation) !void {
if (self.base.isStatic()) {
try argv.append("-static");
- } else if (self.base.isDynLib()) {
+ } else if (self.base.isDynLib() or (target.os.tag == .haiku and self.base.isExe())) {
try argv.append("-shared");
}
@@ -2469,7 +2469,10 @@ fn linkWithLLD(self: *Elf, arena: Allocator, prog_node: *std.Progress.Node) !voi
} else {
try argv.append("-static");
}
- } else if (is_dyn_lib) {
+ } else if (switch (target.os.tag) {
+ else => is_dyn_lib,
+ .haiku => is_exe_or_dyn_lib,
+ }) {
try argv.append("-shared");
}