18571 ipf: nat6_newmap can divide by zero in random port selection
Reviewed by: Andy Fiddaman <illumos at fiddaman.net>
Reviewed by: Dan McDonald <danmcd at oxide.computer>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
[clang][bytecode][NFC] Remove useless IsOpaqueConstantCall function (#237689)
We're already including ExprConstShared.h, which has a copy of this
function, so just use that.
build: take the NextBSD version from SystemVersion.plist
nextbsd-version, /etc/os-release and the image names now come from the
installed NextBSD-everything's /System/Library/CoreServices/SystemVersion.plist,
which nextbsd-pkg writes (nextbsd/nextbsd#536), instead of the image's
IMG_DATE:
- /bin/nextbsd-version reads the plist each time it runs and prints
"NextBSD 27.0.0 (<build>)", so it follows pkg upgrade.
- /etc/os-release gets NAME, VERSION, VERSION_ID, BUILD_ID and
PRETTY_NAME from the plist. nextbsd-fetch, the login banner, prints
PRETTY_NAME, so the banner shows "NextBSD 27.0.0 (<build>)". On an
installed system NextBSD-everything's Lua post-install script writes
the same lines on every upgrade, so os-release is not left at the
version the image was built with.
- The disk image, ISO and rpi5 image are named
NextBSD-<arch>-27.0.0-<build>. The workflow reads the stamp off the
file build.sh wrote, and the continuous release notes name the
version and build.
[8 lines not shown]
[SelectionDAG] Rework `nsz` handling (#232762)
Fixes #232307, #232320, and a few other unreported miscompiles.
Since #180906, `nsz` only allows instructions to non-deterministically
flip the sign of _input_ zeros. SelectionDAG (and many other things)
still has code that assumes output zero signs can also be flipped.
My hope is that these changes will make it a bit harder to gloss over
`nsz` without thinking more carefully about it.
The `frem` regressions here are inevitable if we want correctness. If we
want to see the old codegen, we could add `nsz` consumers to the tests.
---------
Assisted-by: Claude Opus 5.5 <noreply at anthropic.com>
[SPARC][NFC] Move Leon processor scheduling information to its own file (#234160)
The itineraries in SparcSchedule.td must be included before
SparcInstrInfo.td, and that prevents InstRW definitions from being added
to SparcSchedule.td.
Keep the itinerary class definitions in SparcSchedule.td and move the
Leon specific information to SparcSchedLeon.td instead.
Assisted-by: Claude
sysutils/lsof: correct previous patch
Previous patch has a defect refering a variable out of the scope.
Noted by Yoshitaka Tokugawa <toku at tokugawa.org>.
Bump PKGREVISION.
Only build secure/libexec/ssh-sk-helper if MK_USB == no
The ssh-sk-helper utility only functions if/when MK_USB == yes.
Installing it on systems where MK_USB == no doesn't make sense.
Differential Revision: https://reviews.freebsd.org/D58246
(cherry picked from commit 4db3872aabc33088cf180599c5eaa23b6f58e6d1)
Only build secure/libexec/ssh-sk-helper if MK_USB == no
The ssh-sk-helper utility only functions if/when MK_USB == yes.
Installing it on systems where MK_USB == no doesn't make sense.
Differential Revision: https://reviews.freebsd.org/D58246
(cherry picked from commit 4db3872aabc33088cf180599c5eaa23b6f58e6d1)
Only build secure/libexec/ssh-sk-helper if MK_USB == no
The ssh-sk-helper utility only functions if/when MK_USB == yes.
Installing it on systems where MK_USB == no doesn't make sense.
Differential Revision: https://reviews.freebsd.org/D58246
(cherry picked from commit 4db3872aabc33088cf180599c5eaa23b6f58e6d1)
RuntimeLibcalls: Use element alignment for vector libcall out pointers
The pointer arguments of the vector modf, sincos and sincospi functions
are linear pointers to the scalar element type (e.g. the l4 in
_ZGVnN4vl4l4_sincosf), not pointers to the vector type. Only the element
alignment is guaranteed, so stop declaring them with the ABI alignment
of the vector.
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
RuntimeLibcalls: Add signatures for more runtime functions
Add type missing signatures for assorted functions which were missing
type information.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
RuntimeLibcalls: Describe vector FuncArgTypes by element type and count
Define the vector libcall argument types from an element type and
count. Derive the matching integer and mask vector types from them
instead of spelling each one out.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
RuntimeLibcalls: Use the correct target C long width for Long
Long and ULong were mapped to the int width, which is wrong on LP64
targets (e.g. scalbln was declared taking i32 on x86_64 linux) and on
16-bit targets where long is 32 bits.
Also fix strtoul, strtoull, and the unsigned long operator new/delete
variants to use the unsigned types.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
zloop: Add -S to seed the randomized ztest arguments
zloop picks each iteration's pool layout and ztest options with an
unseeded bash RANDOM, and ztest draws its own seed from /dev/urandom.
To rerun a crashed ztest, a developer must find the command line in
ztest.history and the seed in ztest.out and combine them by hand, and
a zloop run cannot be repeated.
Add a -S option that seeds RANDOM. Every randomized argument and the
-J seed handed to each ztest run come from that one value, so rerunning
zloop with the same -S repeats the whole loop. zloop now logs the -J
seed as part of each ztest command line in ztest.history, so a
developer can copy one line to rerun a crashed ztest. The default seed
is random and is logged at the start of the run.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Daniel Perry <dtperry at amazon.com>
Closes #19637
[clang][OpenMP] Fix crash on `lastprivate` of a data member in a member function template (#237575)
Fixes #144302
`lastprivate(i)` on a data member inside a member function template of a
non-template class crashed in `EndOpenMPDSABlock`. In a dependent
context the clause keeps the member as the `this->i` expression, but the
finalizer cast every non-dependent item to `DeclRefExpr`.
Skip the member there and leave its private copy to be built when the
template is instantiated, where the member gets captured as usual.
LLM Aided.