[SPARC] Remap the parameter DBG_VALUEs of a leaf procedure (#239545)
A leaf procedure stays in its caller's register window, so
remapRegsForLeafProc rewrites %i0-%i7 to %o0-%o7. PEI calls it from
determineCalleeSaves, while the parameter DBG_VALUEs at the start of the
entry block are stashed outside the function (stashEntryDbgValues), so
they keep naming %i registers and gdb reads the arguments of leaf
functions from the wrong register.
This renames the debug operands that are left once PEI has put the
stashed values back, in processFunctionBeforeFrameIndicesReplaced. Other
DBG_VALUEs on the same value were already renamed, it's only the stashed
parameter ones that were missed.
Fixes #235238.
`leaf.c` from the issue, `break get` in gdb, before:
```
[13 lines not shown]
[SPARC] Expand f64 bitcasts from v2i32 on 32-bit SPARC (#234201)
It is not possible to directly transfer values from integer registers to
floating point registers, so it needs to be done via the stack.
Fixes the following error:
LLVM ERROR: Cannot select: t10: f64 = bitcast t16
t16: v2i32 = BUILD_VECTOR t2, t4
t2: i32,ch = CopyFromReg t0, Register:i32 %0
t4: i32,ch = CopyFromReg t0, Register:i32 %1
In function: v2i32_build_vector
Assisted-by: Claude
[SPARC] Preserve register operand flags in BPR branch conditions (#240077)
parseCondBranch() rebuilt the register operand of a branch-on-register
(BPR) instruction from just its register number, and insertBranch()
re-added it with addReg(), so any operand flags were lost when a branch
was analyzed and reinserted.
When the register is undef (ProcessImplicitDefs marks the use undef
after removing its IMPLICIT_DEF), PHI elimination splitting a critical
edge rewrites the terminator via updateTerminator() and the BPR ends up
reading a virtual register with no def. The machine verifier rejects
this, and without the verifier the greedy register allocator segfaults
in VirtRegAuxInfo::weightCalcHelper.
Copy the whole MachineOperand into Cond and add it back with add(), as
other targets do.
Fixes #233111
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
arm64 pmap: demote L3C pages in pmap_clear_modify()
When pmap_clear_modify() demotes a dirty L2 block mapping, it write
protects the L3 entry that maps "m", so that a subsequent write access
may repromote. However, since fd6cb031f577, the L3 entries created by
pmap_demote_l2_locked() may have ATTR_CONTIGUOUS set, and
pmap_clear_modify() was write protecting one L3 entry within an L3C page
while leaving the page's other L3 entries writeable with ATTR_CONTIGUOUS
still set. A TLB entry that a processor creates from any of those other
L3 entries may translate "m"'s virtual address and permit writes to "m"
without a fault. To fix this issue, as in pmap_remove_write(), demote
the L3C page before write protecting the L3 entry.
(cherry picked from commit 6d7960628f825f1eec0959d6000a79ca8a4ae927)
prusaslicer: update to 2.9.7
Changes with respect to 2.9.6.
* Fixed an out-of-bounds write when loading a 3MF with a negative bed index.
* Fixed a stack buffer overflow in the digits() / zdigits() placeholder
functions.
* Fixed several issues in the downloader from Printables.
* Fixed couple of potencionally exploitable vulnerabilities in libbgcode
library when loading malformed binary G-code files.
editors/shrink-path.el: New port
shrink-path.el is a fish-style path shortening library for Emacs Lisp.
https://gitlab.com/bennya/shrink-path.el
Sponsored by: The FreeBSD Foundation
devel/f.el: New port
f.el is an API for working with files and directories in Emacs Lisp.
https://github.com/rejeep/f.el
Sponsored by: The FreeBSD Foundation
textproc/languagetool: Update to 2026-11-06 snapshot
While here:
- tell portscout to ignore updates, since upstream publishes daily
snapshots
- pet portclippy.
Sponsored by: The FreeBSD Foundation
[NVPTX] Select scalar_to_vector for bf16x2 (#236706)
Fixes #235368.
DAG combining can create a v2bf16 SCALAR_TO_VECTOR for byte-vector
concatenations, including copies of unaligned bfloat values through
local arrays. NVPTX treats the node as legal but lacks a selection
pattern.
Pack the bf16 value into the low half of a 32-bit register and zero the
unspecified high half, as already done for v2f16. Add regression
coverage for direct packing, unaligned loads, and the original
local-array copy.
18643 git-pbchk copyright check should skip files imported from upstream
Reviewed by: Toomas Soome <tsoome at me.com>
Reviewed by: Bill Sommerfeld <sommerfeld at hamachi.org>
Reviewed by: George Wilson <gwilson at zfsmail.com>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
18642 find_elf's choice of name for a hard-linked object depends on directory order
Reviewed by: Jason King <jason.brian.king+illumos at gmail.com>
Reviewed by: Bill Sommerfeld <sommerfeld at hamachi.org>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
18591 zvol DKIOCFREE ignores dfl_offset
Reviewed by: Toomas Soome <tsoome at me.com>
Reviewed by: George Wilson <gwilson at zfsmail.com>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
18635 spa_ld_get_props() uses an uninitialized autoreplace
Imported from: OpenZFS da27b8bc7f2778b28fa73547ff91bb8cc962fc0e
Reviewed by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed by: Alexander Motin <mav at FreeBSD.org>
Reviewed by: Toomas Soome <tsoome at me.com>
Reviewed by: George Wilson <gwilson at zfsmail.com>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>