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,...@@ -28,6 +28,7 @@ stack_protector: ?bool,
28stack_check: ?bool,28stack_check: ?bool,
29sanitize_c: ?bool,29sanitize_c: ?bool,
30sanitize_thread: ?bool,30sanitize_thread: ?bool,
31fuzz: ?bool,
31code_model: std.builtin.CodeModel,32code_model: std.builtin.CodeModel,
32valgrind: ?bool,33valgrind: ?bool,
33pic: ?bool,34pic: ?bool,
...@@ -186,6 +187,7 @@ pub const CreateOptions = struct {...@@ -186,6 +187,7 @@ pub const CreateOptions = struct {
186 stack_check: ?bool = null,187 stack_check: ?bool = null,
187 sanitize_c: ?bool = null,188 sanitize_c: ?bool = null,
188 sanitize_thread: ?bool = null,189 sanitize_thread: ?bool = null,
190 fuzz: ?bool = null,
189 /// Whether to emit machine code that integrates with Valgrind.191 /// Whether to emit machine code that integrates with Valgrind.
190 valgrind: ?bool = null,192 valgrind: ?bool = null,
191 /// Position Independent Code193 /// Position Independent Code
...@@ -228,6 +230,7 @@ pub fn init(m: *Module, owner: *std.Build, options: CreateOptions, compile: ?*St...@@ -228,6 +230,7 @@ pub fn init(m: *Module, owner: *std.Build, options: CreateOptions, compile: ?*St
228 .stack_check = options.stack_check,230 .stack_check = options.stack_check,
229 .sanitize_c = options.sanitize_c,231 .sanitize_c = options.sanitize_c,
230 .sanitize_thread = options.sanitize_thread,232 .sanitize_thread = options.sanitize_thread,
233 .fuzz = options.fuzz,
231 .code_model = options.code_model,234 .code_model = options.code_model,
232 .valgrind = options.valgrind,235 .valgrind = options.valgrind,
233 .pic = options.pic,236 .pic = options.pic,
...@@ -642,6 +645,7 @@ pub fn appendZigProcessFlags(...@@ -642,6 +645,7 @@ pub fn appendZigProcessFlags(
642 try addFlag(zig_args, m.error_tracing, "-ferror-tracing", "-fno-error-tracing");645 try addFlag(zig_args, m.error_tracing, "-ferror-tracing", "-fno-error-tracing");
643 try addFlag(zig_args, m.sanitize_c, "-fsanitize-c", "-fno-sanitize-c");646 try addFlag(zig_args, m.sanitize_c, "-fsanitize-c", "-fno-sanitize-c");
644 try addFlag(zig_args, m.sanitize_thread, "-fsanitize-thread", "-fno-sanitize-thread");647 try addFlag(zig_args, m.sanitize_thread, "-fsanitize-thread", "-fno-sanitize-thread");
648 try addFlag(zig_args, m.fuzz, "-ffuzz", "-fno-fuzz");
645 try addFlag(zig_args, m.valgrind, "-fvalgrind", "-fno-valgrind");649 try addFlag(zig_args, m.valgrind, "-fvalgrind", "-fno-valgrind");
646 try addFlag(zig_args, m.pic, "-fPIC", "-fno-PIC");650 try addFlag(zig_args, m.pic, "-fPIC", "-fno-PIC");
647 try addFlag(zig_args, m.red_zone, "-mred-zone", "-mno-red-zone");651 try addFlag(zig_args, m.red_zone, "-mred-zone", "-mno-red-zone");