Commit 3a2647b7d3
Changed files (2)
src/Compilation.zig
@@ -1795,8 +1795,8 @@ pub fn create(gpa: Allocator, arena: Allocator, options: CreateOptions) !*Compil
.{ .glibc_crt_file = .crtn_o },
});
}
- if (!is_dyn_lib) {
- try comp.queueJob(.{ .glibc_crt_file = .scrt1_o });
+ if (glibc.needsCrt0(comp.config.output_mode)) |f| {
+ try comp.queueJobs(&.{.{ .glibc_crt_file = f }});
}
try comp.queueJobs(&[_]Job{
.{ .glibc_shared_objects = {} },
src/glibc.zig
@@ -1357,3 +1357,10 @@ pub fn needsCrtiCrtn(target: std.Target) bool {
else => true,
};
}
+
+pub fn needsCrt0(output_mode: std.builtin.OutputMode) ?CrtFile {
+ return switch (output_mode) {
+ .Obj, .Lib => null,
+ .Exe => .scrt1_o,
+ };
+}