diff --git a/src-self-hosted/clang_options_data.zig b/src-self-hosted/clang_options_data.zig index ddf3f36a94fc01d761f9c1f41455bf84a277d302..d8bd0204319c3939bc1b06f898d8b16804eeb0f9 100644 --- a/src-self-hosted/clang_options_data.zig +++ b/src-self-hosted/clang_options_data.zig @@ -4255,7 +4255,14 @@ flagpd1("fno-whole-file"), flagpd1("fwhole-program"), flagpd1("fno-whole-program"), flagpd1("whyload"), -sepd1("z"), +.{ + .name = "z", + .syntax = .separate, + .zig_equivalent = .linker_input_z, + .pd1 = true, + .pd2 = false, + .psl = false, +}, joinpd1("fsanitize-undefined-strip-path-components="), joinpd1("fopenmp-cuda-teams-reduction-recs-num="), joinpd1("analyzer-config-compatibility-mode="), diff --git a/src-self-hosted/stage2.zig b/src-self-hosted/stage2.zig index bd413d34d820b6c6e20776926d8ea452ee029b10..2c4fe99abe70c552c84f7363dd1bd726df24a7f5 100644 --- a/src-self-hosted/stage2.zig +++ b/src-self-hosted/stage2.zig @@ -1290,6 +1290,7 @@ pub const ClangArgIterator = extern struct { rtti, no_rtti, for_linker, + linker_input_z, }; const Args = struct { diff --git a/src/main.cpp b/src/main.cpp index 1e995453992fdf61cd9d057b20a4798f393eb9ae..a7a9b4195027c28edfc858159be273845e0e7759 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -737,6 +737,10 @@ static int main0(int argc, char **argv) { case Stage2ClangArgForLinker: linker_args.append(buf_create_from_str(it.only_arg)); break; + case Stage2ClangArgLinkerInputZ: + linker_args.append(buf_create_from_str("-z")); + linker_args.append(buf_create_from_str(it.only_arg)); + break; } } // Parse linker args diff --git a/src/stage2.h b/src/stage2.h index 42a144f4ce7c4de008b4414c301ef678a6553d4b..5cea30dbaba0e2bf72d3b7f0aae9bf08a166c48f 100644 --- a/src/stage2.h +++ b/src/stage2.h @@ -350,6 +350,7 @@ enum Stage2ClangArg { Stage2ClangArgRtti, Stage2ClangArgNoRtti, Stage2ClangArgForLinker, + Stage2ClangArgLinkerInputZ, }; // ABI warning diff --git a/tools/update_clang_options.zig b/tools/update_clang_options.zig index f8d19872065cac26cbebdd90aef0bd0ddd43eaf1..b673fa050306ccf9ee7a271af927d96b8f53779c 100644 --- a/tools/update_clang_options.zig +++ b/tools/update_clang_options.zig @@ -90,6 +90,10 @@ const known_options = [_]KnownOpt{ .name = "for-linker=", .ident = "for_linker", }, + .{ + .name = "z", + .ident = "linker_input_z", + }, .{ .name = "E", .ident = "preprocess",