diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2023-04-07 19:58:55 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-07 19:58:55 -0400 |
| commit | 55a8b7e1fa4d36f5283d1f8655d3baecfefeffa3 (patch) | |
| tree | a427e2fac6d904759d6f7e00356744f7ec331e48 /src/main.zig | |
| parent | 4ebf483e0da2f85e00918b7900afaf73e111b727 (diff) | |
| parent | b086b7da9e9adbb4445363f635d3bb37177b2f18 (diff) | |
| download | zig-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.zig | 6 |
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, |
