authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-07-21 18:20:34-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-07-22 13:07:02-07:00
log1741b821c39c3e677719a5db435ddac6190874b2
tree50481157fe001c4239f14ff94cb072bd742f2ad1
parent54b7e144b126beb89e86dd8f3dc7ddc7a13871c9

add the build system API for enabling fuzzing


1 files changed, 4 insertions(+), 0 deletions(-)

lib/std/Build/Module.zig+4
......@@ -28,6 +28,7 @@ stack_protector: ?bool,
2828stack_check: ?bool,
2929sanitize_c: ?bool,
3030sanitize_thread: ?bool,
31fuzz: ?bool,
3132code_model: std.builtin.CodeModel,
3233valgrind: ?bool,
3334pic: ?bool,
......@@ -186,6 +187,7 @@ pub const CreateOptions = struct {
186187 stack_check: ?bool = null,
187188 sanitize_c: ?bool = null,
188189 sanitize_thread: ?bool = null,
190 fuzz: ?bool = null,
189191 /// Whether to emit machine code that integrates with Valgrind.
190192 valgrind: ?bool = null,
191193 /// Position Independent Code
......@@ -228,6 +230,7 @@ pub fn init(m: *Module, owner: *std.Build, options: CreateOptions, compile: ?*St
228230 .stack_check = options.stack_check,
229231 .sanitize_c = options.sanitize_c,
230232 .sanitize_thread = options.sanitize_thread,
233 .fuzz = options.fuzz,
231234 .code_model = options.code_model,
232235 .valgrind = options.valgrind,
233236 .pic = options.pic,
......@@ -642,6 +645,7 @@ pub fn appendZigProcessFlags(
642645 try addFlag(zig_args, m.error_tracing, "-ferror-tracing", "-fno-error-tracing");
643646 try addFlag(zig_args, m.sanitize_c, "-fsanitize-c", "-fno-sanitize-c");
644647 try addFlag(zig_args, m.sanitize_thread, "-fsanitize-thread", "-fno-sanitize-thread");
648 try addFlag(zig_args, m.fuzz, "-ffuzz", "-fno-fuzz");
645649 try addFlag(zig_args, m.valgrind, "-fvalgrind", "-fno-valgrind");
646650 try addFlag(zig_args, m.pic, "-fPIC", "-fno-PIC");
647651 try addFlag(zig_args, m.red_zone, "-mred-zone", "-mno-red-zone");