aboutsummaryrefslogtreecommitdiff
path: root/src/link
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2022-06-24 22:01:29 +0200
committerJakub Konka <kubkon@jakubkonka.com>2022-06-24 22:01:29 +0200
commitb60938eefd533ccf22675e41c22ffd57bc5d5be1 (patch)
treef38dc27cd938de2c1e363159ed6c1269c11e12ba /src/link
parent0df7ed79d304afc7d379482005e892979d4a5e4d (diff)
downloadzig-b60938eefd533ccf22675e41c22ffd57bc5d5be1.tar.gz
zig-b60938eefd533ccf22675e41c22ffd57bc5d5be1.zip
macho: verbose print all input linker args verbatim
Diffstat (limited to 'src/link')
-rw-r--r--src/link/MachO.zig23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/link/MachO.zig b/src/link/MachO.zig
index bade8caa0c..92d8134ec9 100644
--- a/src/link/MachO.zig
+++ b/src/link/MachO.zig
@@ -980,7 +980,26 @@ pub fn flushModule(self: *MachO, comp: *Compilation, prog_node: *std.Progress.No
try argv.append(entry);
}
- try argv.appendSlice(positionals.items);
+ for (self.base.options.objects) |obj| {
+ try argv.append(obj.path);
+ }
+
+ for (comp.c_object_table.keys()) |key| {
+ try argv.append(key.status.success.object_path);
+ }
+
+ if (module_obj_path) |p| {
+ try argv.append(p);
+ }
+
+ if (comp.compiler_rt_lib) |lib| {
+ try argv.append(lib.full_object_path);
+ }
+
+ if (self.base.options.link_libcpp) {
+ try argv.append(comp.libcxxabi_static_lib.?.full_object_path);
+ try argv.append(comp.libcxx_static_lib.?.full_object_path);
+ }
try argv.append("-o");
try argv.append(full_out_path);
@@ -988,7 +1007,7 @@ pub fn flushModule(self: *MachO, comp: *Compilation, prog_node: *std.Progress.No
try argv.append("-lSystem");
try argv.append("-lc");
- for (search_lib_names.items) |l_name| {
+ for (self.base.options.system_libs.keys()) |l_name| {
try argv.append(try std.fmt.allocPrint(arena, "-l{s}", .{l_name}));
}