From 9719fa7412371243aaac6f307f80d783c7ac50cb Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Tue, 12 Sep 2023 19:26:51 +0200 Subject: [PATCH] elf: include C compilation artifacts on the linker line --- src/link/Elf.zig | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/link/Elf.zig b/src/link/Elf.zig index 85ddb80cfd..51f909cb50 100644 --- a/src/link/Elf.zig +++ b/src/link/Elf.zig @@ -998,7 +998,16 @@ pub fn flushModule(self: *Elf, comp: *Compilation, prog_node: *std.Progress.Node _ = compiler_rt_path; // Parse input files - for (self.base.options.objects) |obj| { + var positionals = std.ArrayList(Compilation.LinkObject).init(gpa); + defer positionals.deinit(); + try positionals.ensureUnusedCapacity(self.base.options.objects.len); + positionals.appendSliceAssumeCapacity(self.base.options.objects); + + for (comp.c_object_table.keys()) |key| { + try positionals.append(.{ .path = key.status.success.object_path }); + } + + for (positionals.items) |obj| { const in_file = try std.fs.cwd().openFile(obj.path, .{}); defer in_file.close();