From 8932c2d7456fc86b9e92c7976cedcce798caef1a Mon Sep 17 00:00:00 2001 From: Lee Cannon Date: Sun, 20 Dec 2020 21:41:00 +0000 Subject: Added support for no red zone --- src/main.zig | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/main.zig') diff --git a/src/main.zig b/src/main.zig index b50f89e5c2..a7a23c2b2d 100644 --- a/src/main.zig +++ b/src/main.zig @@ -282,6 +282,8 @@ const usage_build_generic = \\ -fno-PIE Force-disable Position Independent Executable \\ -fstack-check Enable stack probing in unsafe builds \\ -fno-stack-check Disable stack probing in safe builds + \\ -fred-zone Enable the "red-zone" + \\ -fno-red-zone Disable the "red-zone" \\ -fsanitize-c Enable C undefined behavior detection in unsafe builds \\ -fno-sanitize-c Disable C undefined behavior detection in safe builds \\ -fvalgrind Include valgrind client requests in release builds @@ -505,6 +507,7 @@ fn buildOutputType( var want_pie: ?bool = null; var want_sanitize_c: ?bool = null; var want_stack_check: ?bool = null; + var no_red_zone: bool = false; var want_valgrind: ?bool = null; var want_tsan: ?bool = null; var want_compiler_rt: ?bool = null; @@ -843,6 +846,10 @@ fn buildOutputType( want_stack_check = true; } else if (mem.eql(u8, arg, "-fno-stack-check")) { want_stack_check = false; + } else if (mem.eql(u8, arg, "-fred-zone")) { + no_red_zone = false; + } else if (mem.eql(u8, arg, "-fno-red-zone")) { + no_red_zone = true; } else if (mem.eql(u8, arg, "-fsanitize-c")) { want_sanitize_c = true; } else if (mem.eql(u8, arg, "-fno-sanitize-c")) { @@ -1760,6 +1767,7 @@ fn buildOutputType( .want_pie = want_pie, .want_sanitize_c = want_sanitize_c, .want_stack_check = want_stack_check, + .no_red_zone = no_red_zone, .want_valgrind = want_valgrind, .want_tsan = want_tsan, .want_compiler_rt = want_compiler_rt, -- cgit v1.2.3