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
..
2025-02-25 11:22:33 -08:00
2024-12-19 17:10:03 -05:00
2025-02-22 14:32:48 -08:00
2025-02-22 17:09:20 -08:00
2025-02-22 22:21:24 -08:00
2025-02-21 06:05:04 +01:00
2024-07-23 11:43:12 -07:00
2025-02-22 17:09:20 -08:00
2025-02-05 13:58:15 +01:00
2024-08-22 08:44:08 +02:00
2025-02-06 14:23:23 -08:00
2025-02-18 18:07:31 +03:30
2025-02-22 14:32:48 -08:00
2024-08-07 00:48:32 -07:00
2024-07-31 16:57:42 -07:00
2025-01-16 20:42:08 -05:00
2024-08-29 23:43:52 +01:00
2025-02-06 14:23:23 -08:00
2025-01-16 20:42:08 -05:00
2025-02-21 09:03:46 +01:00
2025-02-06 14:23:23 -08:00
2025-02-03 09:14:37 +00:00