zig/src
Loris Cro f8fe503146 fuzz testing: implement initial macos support
This commit implements the linker-related code
required to have the `zig init` canyoufindme test
succeed on macos.

It fixes usage of the linker in order to account
for macos specific symbol mangling and introduces
some checks in the fuzzer code to prevent crashes
in case that instrumented code is invoked before
`fuzz_init` runs.

`@disableInstrumentation` has been added to the
start code to help reduce the amount of (needlessly)
instrumented code that runs, but the builtin is
active only in the scope where it's used, meaning
that any non-inlined function call that happens in
that same scope will still have instrumentation
enabled unless it too gets its own
`@disableInstrumentation` call.

Removing temporarily the code that bails out from
instrumentation callbacks when the fuzzer has not
been inited can be used to turn early (and wasteful)
execution of instrumented code into a crash, helping
finding places where to put more calls to
`@disableInstrumentation`.
2025-02-27 16:32:35 +01:00
..
Air Sema: introduce all_vector_instructions backend feature 2025-01-31 23:00:34 -05:00
arch x86_64: use ZON for encodings 2025-02-25 22:32:00 +00:00
codegen fuzz testing: implement initial macos support 2025-02-27 16:32:35 +01:00
Compilation Compilation: correct when to include ubsan 2025-02-25 11:22:33 -08:00
link fuzz testing: implement initial macos support 2025-02-27 16:32:35 +01:00
Liveness Sema: introduce all_vector_instructions backend feature 2025-01-31 23:00:34 -05:00
Package std.ArrayList: popOrNull() -> pop() [v2] (#22720) 2025-02-10 04:21:31 +00:00
Sema compiler: integrate ZON with the ZIR caching system 2025-02-04 16:20:29 +00:00
Zcu std.ArrayHashMap: popOrNul() -> pop() 2025-02-07 17:52:19 -08:00
Air.zig x86_64: rewrite scalar @truncate 2025-02-06 16:14:53 -05:00
Builtin.zig compiler: don't perform semantic analysis if there are files without ZIR 2025-02-04 16:20:29 +00:00
clang.zig all: update to std.builtin.Type.Pointer.Size field renames 2025-01-16 12:46:29 +00:00
clang_options.zig zig cc: honor all -m and -mno- CPU feature flags 2021-11-26 19:59:33 -07:00
clang_options_data.zig compiler: Improve the handling of unwind table levels. 2024-12-11 00:10:15 +01:00
codegen.zig zig build fmt 2025-02-22 17:09:20 -08:00
Compilation.zig ubsan: don't create ubsan in every static lib by default 2025-02-25 11:22:33 -08:00
crash_report.zig all: update for panic.unwrapError and panic.call signature changes 2025-01-24 22:33:23 +00:00
DarwinPosixSpawn.zig std.c.darwin.posix_spawn: fix signature 2024-12-16 14:53:54 +00:00
dev.zig x86_64: implement clz and not 2025-01-16 20:42:08 -05:00
fmt.zig zig fmt: fix invalid alignment on frees 2025-02-22 17:09:20 -08:00
glibc.zig std.Target: Move osArchName() and Cpu.Arch.archName() to std.zig.target. 2025-02-17 19:17:56 +01:00
InternPool.zig compiler: Implement @disableIntrinsics() builtin function. 2025-02-23 04:08:56 +01:00
introspect.zig Fix handling of empty XDG environment variables 2024-08-19 23:30:14 -07:00
libcxx.zig frontend: use main Compilation code_model when building libxx 2025-01-27 17:07:56 -08:00
libtsan.zig std.Target: Remove functions that just wrap component functions. 2025-02-17 19:18:19 +01:00
libunwind.zig std.Target: Remove functions that just wrap component functions. 2025-02-17 19:18:19 +01:00
link.zig Compilation: correct when to include ubsan 2025-02-25 11:22:33 -08:00
Liveness.zig Sema: introduce all_vector_instructions backend feature 2025-01-31 23:00:34 -05:00
main.zig main: add -f{no-}ubsan-rt to the usage text 2025-02-25 11:22:33 -08:00
mingw.zig mingw: Update MinGW-w64 sources to 3839e21b08807479a31d5a9764666f82ae2f0356. 2025-02-24 12:01:07 +01:00
musl.zig Merge pull request #22541 from ziglang/pipeline 2025-01-21 14:27:05 -05:00
mutable_value.zig all: update to std.builtin.Type.Pointer.Size field renames 2025-01-16 12:46:29 +00:00
Package.zig fetch: filter unpack errors 2024-04-09 15:00:21 +02:00
print_air.zig Sema: introduce all_vector_instructions backend feature 2025-01-31 23:00:34 -05:00
print_env.zig std: update std.builtin.Type fields to follow naming conventions 2024-08-28 08:39:59 +01:00
print_targets.zig Output zig targets as ZON instead of JSON (#22939) 2025-02-21 21:40:57 -05:00
print_value.zig compiler: simplify generic functions, fix issues with inline calls 2025-01-21 02:41:42 +00:00
print_zir.zig compiler: Implement @disableIntrinsics() builtin function. 2025-02-23 04:08:56 +01:00
print_zoir.zig compiler: introduce ZonGen and make ast-check run it for ZON inputs 2024-12-16 17:02:35 +00:00
RangeSet.zig sema: rework type resolution to use Zcu when possible 2024-08-25 15:16:42 -07:00
register_manager.zig x86_64: fix crashes compiling the compiler and tests 2025-01-16 20:47:30 -05:00
Sema.zig Merge pull request #22154 from alexrp/disable-intrinsics 2025-02-24 08:25:23 +01:00
target.zig Sema: Fix fnptr alignment safety checks to account for potential ISA tag. 2025-02-22 04:12:46 +01:00
ThreadSafeQueue.zig link.flushTaskQueue: move safety lock 2024-10-23 16:27:39 -07:00
tracy.zig Add build option to set tracy-callstack-depth in build.zig (#21990) 2024-11-29 12:13:06 -08:00
translate_c.zig zig build fmt 2025-02-22 17:09:20 -08:00
Type.zig Dwarf: fix lowering of comptime-only optional pointer null values 2025-02-22 22:47:32 -05:00
Value.zig Dwarf: fix lowering of comptime-only optional pointer null values 2025-02-22 22:47:32 -05:00
wasi_libc.zig wasi-libc: Deduplicate sources and headers with regards to upstream musl. 2025-02-21 09:23:50 +01:00
Zcu.zig Merge pull request #22488 from Rexicon226/ubsan-rt 2025-02-26 03:08:36 -05:00
zig_clang.cpp zig_clang: Update to Clang 19. 2024-09-19 18:20:20 -07:00
zig_clang.h zig_clang: Update to Clang 19. 2024-09-19 18:20:20 -07:00
zig_clang_cc1_main.cpp compiler: Update LLVM/Clang driver files to LLVM/Clang 19. 2024-09-19 18:20:20 -07:00
zig_clang_cc1as_main.cpp compiler: Update LLVM/Clang driver files to LLVM/Clang 19. 2024-09-19 18:20:20 -07:00
zig_clang_driver.cpp compiler: Update LLVM/Clang driver files to LLVM/Clang 19. 2024-09-19 18:20:20 -07:00
zig_llvm-ar.cpp compiler: Update LLVM/Clang driver files to LLVM/Clang 19. 2024-09-19 18:20:20 -07:00
zig_llvm.cpp ZigLLVMTargetMachineEmitToFile: schedule sancov pass depending on mode 2025-02-11 11:13:41 -08:00
zig_llvm.h zig_llvm: Reduce our exposure to LLVM API breakage. 2024-10-31 01:27:22 +01:00