Loris Cro
7a50e76eb1
wip
...
this is a bad commit that contains work in progress
changes to make fuzzing on macos work.
more specifically it contains macho-specific code
for loading debug information in the webserver.
it's messy because I'm still trying to understand
how this stuff works. with these changes the web
server loads but the wasm code panics.
it's unclear if the wasm panic is due to my dwarf
loading code being wrong or if we're encountering
some other latent issue.
2025-02-28 10:34:06 +01:00
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
Andrew Kelley
c45dcd013b
Merge pull request #22488 from Rexicon226/ubsan-rt
...
implement a ubsan runtime for better error messages
2025-02-26 03:08:36 -05:00
mlugg
3fcb4408a5
AstGen: improve 'file cannot be a tuple' source location
...
Instead of just reporting this on token 0, report it on the first
tuple-like field.
2025-02-25 22:28:47 +00:00
Alex Rønne Petersen
055969b101
std.Target: Update known max OS versions.
2025-02-25 20:30:43 +01:00
Robin Voetter
d856763aca
Merge pull request #22937 from alichraghi/ali_spv
...
spirv: make test suite working again
2025-02-25 20:27:37 +01:00
Andrew Kelley
2447b87d98
std.heap.page_size_min: relax freestanding restriction
...
x86_64 and aarch64 have safe values for page_size_min
2025-02-25 11:22:33 -08:00
Andrew Kelley
faf256e429
std.mem.indexOfSentinel: don't ask the OS the page size
...
simply use page_size_min instead.
better yet, this logic would avoid depending on page size entirely...
2025-02-25 11:22:33 -08:00
David Rubin
9432a9b6e1
build: add bundle_ubsan_rt
2025-02-25 11:22:33 -08:00
David Rubin
fc77678339
mem: add @branchHint to indexOfSentinel
...
also seems to work around aarch64 LLVM miscompilation 🤔
2025-02-25 11:22:33 -08:00
David Rubin
95720f007b
move libubsan to lib/ and integrate it into -fubsan-rt
2025-02-25 11:22:33 -08:00
David Rubin
babee5f73c
ubsan: implement some more checks
2025-02-25 11:22:33 -08:00
David Rubin
c27b7973c9
Compilation: use the minimal runtime in ReleaseSafe
2025-02-25 11:22:33 -08:00
David Rubin
eef8d4ff4f
ubsan: switch to using std.builtin.panicExtra to log errors
2025-02-25 11:22:33 -08:00
David Rubin
5e0073c898
ubsan: add a basic runtime
2025-02-25 11:22:33 -08:00
Alex Rønne Petersen
c7e99b93a4
Revert "skip regressed LLVM 17 std lib test on powerpc"
...
This reverts commit 5b8af7a2a9 .
Closes #16951 .
2025-02-25 18:28:34 +01:00
Alex Rønne Petersen
bedf806672
Merge pull request #22999 from alexrp/mingw-update
2025-02-25 12:54:55 +01:00
Ali Cheraghi
a0eec9ce9e
spirv: replace some unreachables with compile errors
2025-02-24 19:12:33 +01:00
Alex Rønne Petersen
51b44be9cc
std.zig.target: Support new wiaguid library name for MinGW-w64.
2025-02-24 12:01:12 +01:00
Alec Fessler
1cc388d526
stdlib: handle EEXIST in mmap with FIXED_NOREPLACE. Fixes #21475
2025-02-24 04:36:14 -05:00
Alex Rønne Petersen
ecc76348e6
Merge pull request #22154 from alexrp/disable-intrinsics
...
compiler: Implement `@disableIntrinsics()` builtin function.
2025-02-24 08:25:23 +01:00
Linus Groh
68bd82d0cc
std.posix: Handle USER_MAPPED_FILE in windows ftruncate() impl
2025-02-23 16:58:26 -05:00
Andrew Kelley
e47f340e23
std.Build.Step.ConfigHeader: follow deprecation policy
2025-02-23 12:45:35 -08:00
Andrew Kelley
86f35479d9
Merge pull request #22794 from cbilz/autoconf_at
...
std.Build.Step.ConfigHeader: Add support for Autoconf-style `@FOO@` variables
2025-02-23 15:36:49 -05:00
Linus Groh
c44f4501e7
std.math.big.int: Support strings up to base 36
...
Co-Authored-By: samy007 <samy2014@free.fr>
2025-02-23 11:25:35 +00:00
mlugg
5e20e9b449
Sema: allow @ptrCast of slices changing the length
...
Also, refactor `Sema.ptrCastFull` to not be a horrifying hellscape.
2025-02-23 08:28:58 +00:00
Andrew Kelley
d6f8200294
zig fmt
2025-02-22 22:21:24 -08:00
Constantin Bilz
75b0538688
std.Build: Allow ConfigHeader values to be added at build.zig runtime
2025-02-22 23:31:17 -05:00
Anders Bondehagen
77007445bf
std.net: Fix IPv6 address format compression for long zero runs ( #22441 )
2025-02-22 19:52:47 -08:00
Linus Groh
4b0f77cc1f
std.crypto.tlcsprng: Fix hardcoded use of defaultRandomSeed()
...
Instead of hardcoding a call to defaultRandomSeed() use the customizable
std.options.cryptoRandomSeed() like in the rest of the function.
Closes #19943 .
2025-02-22 22:39:40 -05:00
Alex Rønne Petersen
6ba785584a
compiler: Implement @disableIntrinsics() builtin function.
...
Closes #21833 .
Closes #22110 .
2025-02-23 04:08:56 +01:00
Andrew Kelley
8683f25d24
std.heap.DebugAllocator: default wasm to 64K page size
...
including on freestanding
2025-02-22 21:06:00 -05:00
Andrew Kelley
dd54c48aa2
std.crypto.asn1: fix merge conflicts
2025-02-22 17:44:11 -08:00
Andrew Kelley
ed7004a2ee
Merge pull request #19976 from clickingbuttons/asn1
...
std.crypto: Add ASN1 module with OIDs and DER
2025-02-22 20:21:09 -05:00
Andrew Kelley
eb3c7f5706
zig build fmt
2025-02-22 17:09:20 -08:00
Andrew Kelley
c0c911bfa7
zig fmt: fix invalid alignment on frees
2025-02-22 17:09:20 -08:00
Andrew Kelley
ed55b2ef17
update to new pop API
2025-02-22 17:09:20 -08:00
87flowers
8469a44c9c
std/http/Client: Remove TODO comments on indentation
2025-02-22 17:09:20 -08:00
87flowers
87172ee4e6
std/zig/render: Add doc comments to AutoIndentingStream
2025-02-22 17:09:20 -08:00
87flowers
fdf68c2f2e
std/zig/parser: Add indentation tests
2025-02-22 17:09:20 -08:00
87flowers
c724e157d6
std/zig/render: implement fixes for unit tests
2025-02-22 17:09:20 -08:00
87flowers
a702dc31cc
std/zig/render: assigns are .after_equals
2025-02-22 17:09:20 -08:00
87flowers
6013b53702
std/zig/render: Collapse one level of indentation in binop after equals sign
2025-02-22 17:09:20 -08:00
87flowers
9b2677c639
std/zig/render: Implement space mode to fix comment indentation
2025-02-22 17:09:20 -08:00
87flowers
ec3e4cc14b
std/zig/render: Initial implementation of indentation
2025-02-22 17:09:20 -08:00
87flowers
1b0584fd02
std/zig/render: Implement AutoIndentingStream.init
2025-02-22 17:09:19 -08:00
geemili
6ef2384c07
std.DynLib: add support for DT_GNU_HASH sections in elf files
2025-02-22 17:33:49 -05:00
Chris Covington
b7512c3e5d
Add rapidhash ( #22085 )
2025-02-22 14:32:48 -08:00
Wyatt Radkiewicz
33ffbb32c9
std.zig.system.NativePaths: Add Homebrew paths ( #22738 )
2025-02-22 14:22:54 -08:00
David Rubin
36fc2d2607
AstGen: make layout specifiers on opaque containers a compile error
2025-02-22 17:21:34 -05:00