8-byte aligment fix for Mac-O
#35280
8-byte aligment fix for Mac-O
https://codeberg.org/ziglang/zig/issues/35280
Preeternal/zig:fix/35280-macho-64-archive-alignment into master
8-byte aligment fix for Mac-O
#35280
...but not in the way you'd expect. We were actually tracking them in cases where we shouldn't have been! We cannot track a declaration if its parent namespace has been lost, because that will cause analysis failures immediately, but if we excluded a type from the mapping due to a major change (such as a struct turning into a union, or a field being added), we were still including any trackable instructions inside the container's field expressions (e.g. struct field type expressions). This meant we were tracking a type declaration while losing tracking on its parent namespace, with predictably disastrous results. Oh, also, tracking for opaque types was just totally wrong (I think this was a typo from a while back). We could map it to things other than opaque declarations, and we never mapped declarations inside opaques. So, uh, I fixed that too.
notably, removes incorrect mention of {D} format specifier
closes #31867
Reviewed-on: #31868
Having the matrix of test targets for incremental compilation in the individual test manifests has turned out to be inconvenient for a few reasons: the tests are almost certain to accidentally get out of sync, disabling targets entirely is annoying to do, and incr-check needs to take care to print the target in all error messages (which currently does not always happen). If I recall correctly, I originally designed it this way because it allows targets to be disabled at the granularity of individual tests, but there's an easier approach to that: just let a test manifest that it should be *skipped* on a certain target! As skipping is the rare case, and also the case you want readers to notice, it makes sense for *it* to be explicitly specified, like how unit tests use `error.SkipZigTest`. So, `incr-check` no longer runs through a list of targets specified in the manifest. Instead, it accepts (and, in fact, requires) a single target on the command line, and runs the test for that specific target. If the file contains a `#skip_target` directive for that target, then `incr-check` exits immediately, so we can still disable targets at individual test granularity, but you can also disable a target for all tests by just commenting it out of the matrix in `test/tests.zig`. As a nice bonus, this also allows the build system to run different incremental test targets in parallel, because the targets are now different steps. This definitely seems like a better way to split the work between the build system and incr-check---sorry for getting this wrong initially!
See #31701 for details. I am not re-enabling the disabled compiler-rt module tests here because they are also affected by #31702.
closes #25963
Reviewed-on: #31851 Reviewed-by: Andrew Kelley <andrew@ziglang.org>
Two mistakes I made when translating from the C header: - The timeout and userspace_address2 pointers should be nullable. - futex_wait() and futex_wake() are defined as static functions and therefore not available as exported symbols. They're just thin wrappers around futex() anyway so that's fine.
This reverts commit 12d0d39223.
ez80 support is not in 0.16.0.
this should have been part of the "start the release cycle" commit.
If we have just created cache_dir_path, then there's no `tmp` dir
there, and
cache_dir.createFile(io, "tmp/libfuzzer.log", .{ .truncate = false })
fails.
Tested via
$ zig version
0.16.0
$ zig build --zig-lib-dir ~/p/zig/lib/ --fuzz
UTCTime years in the range 50-99 must map to 1950-1999, but the parser unconditionally added 2000, producing dates 100 years in the future. This caused verify() to accept certificates whose validity actually expired decades ago. Change that to match what OpenSSL, BoringSSL, etc. do
Reviewed-on: #31966 Reviewed-by: Andrew Kelley <andrew@ziglang.org>
Reviewed-on: #31972 Reviewed-by: Andrew Kelley <andrew@ziglang.org>
(un)installMultipleProtocolInterfaces' ( #31934 ) from mrosowski/zig:uefi-fix-install-multiple into master
cf65d4f080Reviewed-on: #31934 Reviewed-by: linus <mail@linusgroh.de>
Reviewed-on: #31940 Reviewed-by: Andrew Kelley <andrew@ziglang.org>
The DER decoder accepted zero-length OID payloads producing an Oid value that would panic later. Co-authored-by: Frank Denis <github@pureftpd.org> Reviewed-on: #31983 Reviewed-by: Andrew Kelley <andrew@ziglang.org> Co-authored-by: Frank Denis <jedisct1@noreply.codeberg.org> Co-committed-by: Frank Denis <jedisct1@noreply.codeberg.org>
Reviewed-on: #31992
Fixes #31964
refs: #35280
No due date set.
No dependencies set.
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?