aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Compilation.zig2
-rw-r--r--src/link/Elf.zig2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig
index a1fdc4fd1a..b85033264a 100644
--- a/src/Compilation.zig
+++ b/src/Compilation.zig
@@ -6743,8 +6743,10 @@ fn getCrtPathsInner(
return .{
.crt0 = if (basenames.crt0) |basename| try crtFilePath(crt_files, basename) else null,
+ .crti = if (basenames.crti) |basename| try crtFilePath(crt_files, basename) else null,
.crtbegin = if (basenames.crtbegin) |basename| try crtFilePath(crt_files, basename) else null,
.crtend = if (basenames.crtend) |basename| try crtFilePath(crt_files, basename) else null,
+ .crtn = if (basenames.crtn) |basename| try crtFilePath(crt_files, basename) else null,
};
}
diff --git a/src/link/Elf.zig b/src/link/Elf.zig
index 957675fb0e..ea2fa56a5d 100644
--- a/src/link/Elf.zig
+++ b/src/link/Elf.zig
@@ -1869,6 +1869,7 @@ fn linkWithLLD(self: *Elf, arena: Allocator, tid: Zcu.PerThread.Id, prog_node: s
// csu prelude
const csu = try comp.getCrtPaths(arena);
if (csu.crt0) |p| try argv.append(try p.toString(arena));
+ if (csu.crti) |p| try argv.append(try p.toString(arena));
if (csu.crtbegin) |p| try argv.append(try p.toString(arena));
for (self.rpath_table.keys()) |rpath| {
@@ -2060,6 +2061,7 @@ fn linkWithLLD(self: *Elf, arena: Allocator, tid: Zcu.PerThread.Id, prog_node: s
// crt postlude
if (csu.crtend) |p| try argv.append(try p.toString(arena));
+ if (csu.crtn) |p| try argv.append(try p.toString(arena));
if (self.base.allow_shlib_undefined) {
try argv.append("--allow-shlib-undefined");