Version 4.8.33
Starting with this release, we will be using language features that require a C99 compiler to build.
- Core
* Minimal version of Automake is 1.14 (#4604)
* Upgrade C standard to C99 (#4604)
* Support ksh variants as subshell (#3748)
* Improve fish 4.0 shell support (#4597)
* Add support for bash PROMPT_COMMAND being an array (#4599)
* Don't override ENV variable for ash/dash subshell (#4605)
* Don't disable verbose mode if tty baudrate can't be reliably determined (#2452)
* New keymap for vim users (#4588)
- VFS
* extfs vfs: chmod/chown inside extfs (e.g. zip archive) silently fails (#4629)
* Add embedded torrent viewer/vfs (#3100)
[1753 lines not shown]
[CIR] Recognize strlen in the IdiomRecognizer pass (#210400)
This patch adds the operation cir.std.strlen and teaches the recognizer
to raise strlen calls, following the ClangIR incubator. A C library
function carries no identity tag, so strlen is matched by its callee
symbol, which works since C names have no mangling.
The symbol alone is not enough when builtins are disabled, so the
recognizer honors the no builtin state CIRGen records, the mark on the
call and the list on the calling function. A call is raised only when it
is a direct call named strlen with one pointer to an 8 bit character of
either signedness, since the signedness of plain char follows the
target, and a fundamental unsigned integer result. A _BitInt is excluded
even at width 8.
The raised operation lowers back through the same generic function as
the other raised operations, and every call attribute is carried across,
so a no builtin mark or list survives the round trip. Tests cover the
raise, the symbol match, the no builtin cases, and the type guard.
Aided by Claude Opus 4.8
interfaces: patch runInterfaceRegistration() into device applies
Note that configure should run before registration in order to pick up
additional runtime information in the assignment list cache (if applicable).
Deleting doesn't clear the cache, but that's a problem for later.
Specialize IterateOverMembers instead of ClauseSetToString
There was still a use of common::EnumSet::IterateOverMembers left
over after the prior changes. Get rid of it via the specialization,
and revert the specialization of ClauseSetToString, which was
originally implemented using IterateOverMembers.
[analyzer] Make pointer/null comparison commutative for addresses of fields of symbolic regions (#209875)
Fixes #206798
A reversed ("Yoda") null check `nullptr == p` produced a false
`core.NullDereference` when `p` is the address of a field of a symbolic
region (e.g. `&r->s`). The natural form (`p == nullptr`) worked fine.
tcp: make ghost ACK handling more conformant
The latest version of draft-ietf-tcpm-tcp-ghost-acks changed
a condition. This should make no substantial difference, but makei
it compliant to the latest version of the specification.
Reviewed by: rscheff, Peter Lei
MFC after: 3 days
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D58411
[llvm][AArch64] Eliminate redundant mov's sandwiching aut's in tail calls (#211105)
When the target has +pauth, we don't have to use the hint space compatible encodings (auti[ab]1716), and instead can directly authenticate lr with auti[ab].
[MergeFuncs] Account for elementwise loads and atomicrmw in FunctionComparator (#211478)
Distinguish elementwise atomic loads and atomicrmw instructions from
their
whole-vector counterparts when comparing functions, preventing
MergeFunctions
from merging functions with different atomic semantics.
18263 Want uio_copyin(9F) and uio_copyout(9F)
18262 Want a manual page for kcopy(9F)
Reviewed by: Robert Mustacchi <rm at fingolfin.org>
Approved by: Dan McDonald <danmcd at edgecast.io>
6043 mdb: pipe shell output back into mdb
15658 mdb could be smarter about quoting
Reviewed by: Gordon Ross <Gordon.W.Ross at gmail.com>
Reviewed by: Toomas Soome <tsoome at me.com>
Approved by: Dan McDonald <danmcd at edgecast.io>
[SPIRV][NFCI] Refactor selection of atomic operations with pointer operands (#208294)
We do similar things for the three different cases (load, store,
exchange), so share some logic.
Suggested
[here](https://github.com/llvm/llvm-project/pull/207830#issuecomment-4912670227).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
sysutils/fdupes: Update to 2.4.0
Changelog:
Changes from 2.3.2 to 2.4.0:
- Add quick summary option that skips byte-for-byte match confirmation.
- Reduce number of progress indicator updates for better performance.
Changes from 2.3.1 to 2.3.2:
- Keep cursor as close to current group as possible after deleting files.
- Omit endian.h when building on AIX.
Changes from 2.3.0 to 2.3.1:
- Fix buffer overflow bug in getrealpath() function.
Changes from 2.2.1 to 2.3.0:
[4 lines not shown]
AMDGPU: Migrate assembler tests to subarch triples with error changes
Since these cases dropped the -mcpu argument, the error messages changed
to use the canonical name.
[AMDGPU] Fix SIPreAllocateWWMRegs to reserve AV-class WWM defs (#211560)
isVGPR() rejects the unified VGPR+AGPR register class used on gfx90A+,
so strict-WWM defs allocated to an AV-class register were left out of
WWMReservedRegs and could be clobbered by the post-WWM allocator
[AMDGPU] Fix v32f16 FMINIMUMNUM/FMAXIMUMNUM lowering in non-IEEE mode (#207896)
v32f16 was marked Custom but omitted from the handler split-list, so it
fell through to selection and failed with "Cannot select"
The dead v16bf16 branch (never marked Custom) is dropped in the same
change