aboutsummaryrefslogtreecommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-04-07 19:58:55 -0400
committerGitHub <noreply@github.com>2023-04-07 19:58:55 -0400
commit55a8b7e1fa4d36f5283d1f8655d3baecfefeffa3 (patch)
treea427e2fac6d904759d6f7e00356744f7ec331e48 /src/main.zig
parent4ebf483e0da2f85e00918b7900afaf73e111b727 (diff)
parentb086b7da9e9adbb4445363f635d3bb37177b2f18 (diff)
downloadzig-55a8b7e1fa4d36f5283d1f8655d3baecfefeffa3.tar.gz
zig-55a8b7e1fa4d36f5283d1f8655d3baecfefeffa3.zip
Merge pull request #15097 from zachcheu/add-wrap-flag
add linker -wrap flag
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/main.zig b/src/main.zig
index 76c43476ee..74a5a47643 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -874,6 +874,8 @@ fn buildOutputType(
var rpath_list = std.ArrayList([]const u8).init(gpa);
defer rpath_list.deinit();
+ var symbol_wrap_set: std.StringArrayHashMapUnmanaged(void) = .{};
+
var c_source_files = std.ArrayList(Compilation.CSourceFile).init(gpa);
defer c_source_files.deinit();
@@ -2155,6 +2157,9 @@ fn buildOutputType(
next_arg,
});
};
+ } else if (mem.eql(u8, arg, "-wrap")) {
+ const next_arg = linker_args_it.nextOrFatal();
+ try symbol_wrap_set.put(arena, next_arg, {});
} else if (mem.startsWith(u8, arg, "/subsystem:")) {
var split_it = mem.splitBackwards(u8, arg, ":");
subsystem = try parseSubSystem(split_it.first());
@@ -3039,6 +3044,7 @@ fn buildOutputType(
.clang_argv = clang_argv.items,
.lib_dirs = lib_dirs.items,
.rpath_list = rpath_list.items,
+ .symbol_wrap_set = symbol_wrap_set,
.c_source_files = c_source_files.items,
.link_objects = link_objects.items,
.framework_dirs = framework_dirs.items,