aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Compilation.zig1
-rw-r--r--src/link/Elf.zig3
2 files changed, 3 insertions, 1 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig
index 992b1685df..70a61af57a 100644
--- a/src/Compilation.zig
+++ b/src/Compilation.zig
@@ -3278,7 +3278,6 @@ fn wantBuildLibUnwindFromSource(comp: *Compilation) bool {
.Exe => true,
};
return comp.bin_file.options.link_libc and is_exe_or_dyn_lib and
- comp.bin_file.options.libc_installation == null and
comp.bin_file.options.object_format != .c and
target_util.libcNeedsLibUnwind(comp.getTarget());
}
diff --git a/src/link/Elf.zig b/src/link/Elf.zig
index 7b1c5474a7..83b35cf12c 100644
--- a/src/link/Elf.zig
+++ b/src/link/Elf.zig
@@ -1648,6 +1648,9 @@ fn linkWithLLD(self: *Elf, comp: *Compilation) !void {
// libc dep
if (self.base.options.link_libc) {
if (self.base.options.libc_installation != null) {
+ if (target_util.libcNeedsLibUnwind(target)) {
+ try argv.append(comp.libunwind_static_lib.?.full_object_path);
+ }
const needs_grouping = self.base.options.link_mode == .Static;
if (needs_grouping) try argv.append("--start-group");
// This matches the order of glibc.libs