[RISCV][P-ext] Combine riscv.pmhacc.b0 and riscv.pmhacc.h0 into a single intrinsic. (#238068)
Similar for riscv.pmulh.b0 and riscv.pmulh.h0. This includes different
signedness and different half number.
The underlying RISCVISD opcodes were already combined.
I added ".half." to the intrinsic name to better distinquish from the
riscv.pmulh intrinsic. Otherwise we would have riscv.pmulh,
riscv.pmulh.0, and riscv.pmulh.1.
Assisted-by: Claude
CodeGen: Maintain the dominator tree in MachinePipeliner (#237473)
LiveIntervals computes live ranges using the dominator tree, but the
modulo schedule expanders change the CFG without updating
it. Intervals computed later in the pass therefore see a tree missing
the new prolog, kernel and epilog blocks. This is latent today, but
#236894 will end up using the dominator tree for reachability. The
unregistered blocks would be incorrectly treated as unreachable.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[AMDGPU] Avoid invalid op_sel on gfx950 v_pk_{add,mul,fma}_f32 (#233970)
In summary, this approach, which does not create the invalid
instruction, replaces pre-existing approach, which creates first and
fixes the instruction. For v_pk_fma, instead of decomposing it into two
scalar fmas, this approach avoids invalid opsel patterns with additional
mov instructions. For example,
; gfx90a
v_pk_fma_f32 v[0:1], v[4:5], v[6:7], v[8:9] op_sel:[0,1,1]
op_sel_hi:[1,0,0]
; gfx950
v_pk_mov_b32 v[2:3], v[6:7], v[6:7] op_sel:[1,0]
v_pk_mov_b32 v[4:5], v[8:9], v[8:9] op_sel:[1,0]
v_pk_fma_f32 v[2:3], v[10:11], v[2:3], v[4:5]
On gfx950, v_pk_add/mul_f32 with opsel[1:0] == 2'b10, and v_pk_fma_f32
with OP_SEL_0 on src1 or src2, are invalid. Instruction selection could
[13 lines not shown]
[libc++][windows] Use _wsetlocale() in __locale_guard (#160479)
On Windows, locale strings are not limited to ASCII characters, and
narrow locale strings are encoded relative to the `LC_CTYPE` charset.
Class `__locale_guard` does three things in sequence:
1. Queries the current locale string
2. Sets a temporary locale
3. Restores the locale retrieved at 1
However, the locale string obtained from `1)` may be in an encoding
different from what `setlocale` expects at `3)`
To avoid any problem with narrow string encodings, use `_wsetlocale` in
`__locale_guard`.
Fixes #160478
[Mips] Add named COP0 registers (#229391)
Accept COP0 names such as $config1 alongside $16, 1. A numeric register
with no selector selects SEL=0.
Define one physical register for each REG/SEL pair and pack the pair
into HWEncoding. Instructions use one COP0 machine operand and extract
REG and SEL into separate encoding fields. Update encoding, decoding,
printing, interrupt lowering, and register-usage masks to use this
representation.
Convert MFTC0/MTTC0 aliases to MFTR/MTTR during assembly matching. Check
selector availability in the COP0 parser.
[llvm-objdump] Fix chained-fixups-arm64e.test on big-endian hosts (#238081)
obj2yaml leaves out `IsLittleEndian` when it matches the host, and
yaml2obj then uses the host's byte order. On big-endian hosts the test's
images got big-endian headers around their little-endian chained fixups,
which llvm-objdump rejects as "unknown imports format: 33554432" (2,
byte-swapped).
Pin `IsLittleEndian: true` in both images and in the gen part, as
stmt-seq-macho.test does (#137017). On little-endian hosts, yaml2obj's
output is unchanged.
Fixes the clang-flang-ppc64-aix failure after #234001:
https://lab.llvm.org/buildbot/#/builders/231/builds/2115
Assisted-by: Claude
NAS-145042 / 28.0.0-BETA.1 / Prevent newline insertion in SMB config (#20103)
This commit tightens validation on SMB string parameters to prevent
insertion of newline characters in comment and description fields.
www/hurl: update 8.0.1 -> 8.1.0
Changelog: https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#8.1.0
Security: CVE-2026-63481
Security: Fix escaping headers values in HTML
Security: Fix symlinks escaping file root
Security: Fix credentials leaking using --header and following redirection
Security: Add explicit nesting limit to JSON Body parsing
Security: Fix escaping capture name in HTML report
vtnet: Accept VIRTIO_NET_F_CTRL_RX_EXTRA
Although the driver does not issue the extra receive-mode commands
accepting the feature is harmless and some devices, notably Apple's
Virtualization.framework, offer their control-queue features as a
group and refuse FEATURES_OK unless the whole set is acknowledged.
Signed-off-by: Faraz Vahedi <kfv at kfv.io>
Reviewed by: adrian
Pull Request: https://github.com/freebsd/freebsd-src/pull/2322
(cherry picked from commit d4ddf8eaee9371d1d20bfb753237f25505d6afee)
vtnet: Implement VIRTIO_NET_F_GUEST_ANNOUNCE
When the device sets VIRTIO_NET_S_ANNOUNCE in the config status
field, for example after a VM migrates to a new host, announce
the interface's presence on the network so peers and switches
learn the new attachment point, then acknowledge the request
with the VIRTIO_NET_CTRL_ANNOUNCE_ACK control command, as per
VirtIO v1.3, 5.1.6.5.4.
The announcement raises iflladdr_event: the stack sends gratuitous
ARPs and unsolicited neighbor advertisements for the interface's
addresses, and stacked interfaces such as vlan(4) propagate the
event and announce theirs as well. The event handlers may sleep,
so the work is deferred from the config change interrupt to a task
on taskqueue_thread; that context also allows the acknowledgement
to be skipped safely if the interface was stopped in the meantime,
in which case the device keeps the bit set and the request is
re-delivered with the next config change interrupt.
[5 lines not shown]
Prevent newline insertion in SMB config
This commit tightens validation on SMB string parameters to
prevent insertion of newline characters in comment and
description fields.
Merge branch 'main' into users/oskarwirga/lld-macho-arm64e
Resolve the conflict with #234006, which checks each fixup's alignment in
ChainedFixupsSection::finalizeContents against a shared 4-byte stride.
arm64e chains fixups with an 8-byte stride, so chainStride() returns 8
there and the stack's own stride check in buildFixupChains goes away.
The shared error suggests -no_fixup_chains only where
canDisableChainedFixups() says it can help.
Assisted-by: Claude Code
netinet6: Use memcpy/memset/memcmp for consistency
Convert the remaining bzero()/bcopy()/bcmp() calls in the neighbor
discovery handlers to memset()/memcpy()/memcmp().
No functional change intended.
Reviewed by: glebius, pouria
Sponsored by: VersatusHPC
Differential Revision: https://reviews.freebsd.org/D58177
[clang-format] Fix tabs in aligned ForIndentation continuations (#235553)
ForIndentation can inherit continuation spaces as an extra tab when
aligning to a continued expression after 029e5b017bfd. Use the alignment
anchor's block indentation for this mode.
Validation: built 029e5b017bfd and its parent, 5b1b0efbaa97, with only
the new regression test added. The test passes on 5b1b0efbaa97 but fails
on 029e5b017bfd. It also passes with the `WhitespaceManager` changes
from this PR.
Fixes #235551
Assisted-by: Codex
graphics/py-img2pdf: import py-img2pdf-0.6.3
Packaged by martin, leot, and myself in wip.
Lossless conversion of raster images to PDF. You should use img2pdf if
your priorities are (in this order):
always lossless: the image embedded in the PDF will always have the
exact same color information for every pixel as the input
small: if possible, the difference in filesize between the input
image and the output PDF will only be the overhead of the PDF container
itself
fast: if possible, the input image is just pasted into the PDF
document as-is without any CPU hungry re-encoding of the pixel data