aboutsummaryrefslogtreecommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2024-07-26 21:05:40 +0200
committerJakub Konka <kubkon@jakubkonka.com>2024-07-28 14:37:03 +0200
commit642cd730c8b588778d8c1d6953134408b30dfab3 (patch)
tree430fe8e39eb8ea0b7d3f3c07cde56c523f02f79b /src/main.zig
parent91c17979f10db4fdc6639b176c0563718f060f47 (diff)
downloadzig-642cd730c8b588778d8c1d6953134408b30dfab3.tar.gz
zig-642cd730c8b588778d8c1d6953134408b30dfab3.zip
link: Accept `-Brepro` linker option and pass it to LLD.
Enable it by default when building Zig code in release modes. Contributes to #9432.
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/main.zig b/src/main.zig
index dabd5d894f..d7f7e006db 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -860,6 +860,7 @@ fn buildOutputType(
var want_compiler_rt: ?bool = null;
var linker_script: ?[]const u8 = null;
var version_script: ?[]const u8 = null;
+ var linker_repro: ?bool = null;
var linker_allow_undefined_version: bool = false;
var linker_enable_new_dtags: ?bool = null;
var disable_c_depfile = false;
@@ -2481,6 +2482,8 @@ fn buildOutputType(
{
emit_implib = .{ .yes = linker_args_it.nextOrFatal() };
emit_implib_arg_provided = true;
+ } else if (mem.eql(u8, arg, "-Brepro") or mem.eql(u8, arg, "/Brepro")) {
+ linker_repro = true;
} else if (mem.eql(u8, arg, "-undefined")) {
const lookup_type = linker_args_it.nextOrFatal();
if (mem.eql(u8, "dynamic_lookup", lookup_type)) {
@@ -3315,6 +3318,7 @@ fn buildOutputType(
.soname = resolved_soname,
.linker_sort_section = linker_sort_section,
.linker_gc_sections = linker_gc_sections,
+ .linker_repro = linker_repro,
.linker_allow_shlib_undefined = linker_allow_shlib_undefined,
.linker_bind_global_refs_locally = linker_bind_global_refs_locally,
.linker_import_symbols = linker_import_symbols,