aboutsummaryrefslogtreecommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
authorLee Cannon <leecannon@leecannon.xyz>2020-12-20 21:41:00 +0000
committerAndrew Kelley <andrew@ziglang.org>2021-01-11 22:07:14 -0700
commit8932c2d7456fc86b9e92c7976cedcce798caef1a (patch)
treef1a592127ee02e182eead556b6946b13a7d55edb /src/main.zig
parent56c03881ebd8617e6506bfad01bf9cfdd4d3df7e (diff)
downloadzig-8932c2d7456fc86b9e92c7976cedcce798caef1a.tar.gz
zig-8932c2d7456fc86b9e92c7976cedcce798caef1a.zip
Added support for no red zone
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig8
1 files changed, 8 insertions, 0 deletions
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,