aboutsummaryrefslogtreecommitdiff
path: root/src/link
diff options
context:
space:
mode:
Diffstat (limited to 'src/link')
-rw-r--r--src/link/Elf.zig15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/link/Elf.zig b/src/link/Elf.zig
index 4375661f64..c31a094093 100644
--- a/src/link/Elf.zig
+++ b/src/link/Elf.zig
@@ -1648,17 +1648,12 @@ fn linkWithLLD(self: *Elf, comp: *Compilation) !void {
// libc dep
if (self.base.options.link_libc) {
if (self.base.options.libc_installation != null) {
- if (self.base.options.link_mode == .Static) {
- try argv.append("--start-group");
- try argv.append("-lc");
- try argv.append("-lm");
- try argv.append("--end-group");
- } else {
- try argv.append("-lc");
- try argv.append("-lm");
- }
-
+ const needs_grouping = self.base.options.link_mode == .Static;
+ if (needs_grouping) try argv.append("--start-group");
+ try argv.append("-lm");
try argv.append("-lpthread");
+ try argv.append("-lc");
+ if (needs_grouping) try argv.append("--end-group");
} else if (target.isGnuLibC()) {
try argv.append(comp.libunwind_static_lib.?.full_object_path);
for (glibc.libs) |lib| {