rc.d: use absolute path for python3 in maltrailsensor + maltrailserver (#5466)
service(8) invokes rc.d scripts with PATH=/sbin:/bin:/usr/sbin:/usr/bin
via `env -i`, which does not include /usr/local/bin where python3 lives.
daemon(8)'s execvp("python3") ENOENTs all four PATH entries and the
supervisor exits silently after the pre-detach parent has already
returned 0 to rc.subr. Net result: service start exits 0 with nothing
running, and boot-time autostart is broken when maltrailsensor_enable=YES.
Use absolute path /usr/local/bin/python3 to bypass the PATH lookup,
matching the convention used by other OPNsense plugin rc.d scripts
(stunnel, ddclient, tinc, openconnect).
Validated on OPNsense 26.4 / FreeBSD 14.3-RELEASE-p12 across
3 start/stop cycles + truss re-trace + full cold-start reboot.
Co-authored-by: Tom Reid <tokamaktx at users.noreply.github.com>
[AArch64][llvm] Restrict luti6 (4 regs, 8-bit) to 0 <= Zn <= 7
The `luti6` instruction (table, four registers, 8-bit) should only
allow `0 <= Zn <= 7`, since there's only 3 bits. It actually allows:
```
luti6 { z0.b - z3.b }, zt0, { z8 - z10 }
```
which produces a duplicate encoding to the following:
```
luti6 { z0.b - z3.b }, zt0, { z0 - z2 }
```
Fix tablegen to ensure Zn is only allowed in correct range of 0 to 7.
[lldb] Strip pointer metadata in ReadMemoryRanges (#200398)
The Process base class is generally responsible for fixing pointer
metadata before delegating memory reads to concrete Process
specializations. However, ReadMemoryRanges was a direct path into the
derived classes, which made it so that pointer metadata was never
stripped.
This commit creates a non-virtual ReadMemoryRanges in Process, which
clears pointer metadata, before delegating to the new virtual method
DoReadMemoryRanges. This also allows, in the future, to plug into the
memory cache system.
[libc] Add netinet/tcp.h header (#200356)
This patch adds the netinet/tcp.h header definition. For now I'm only
adding TCP_NODELAY to it, as that's the only constant specified by
POSIX.
I also include the header in the public headers list for linux targets
and hook it up to the implementation status docs.
I don't add a test as this is just a constant definition, and it would
be very hard to devise (if even possible over a loopback interface) a
test to check that the option has the desired effect (in fact, POSIX
says that an implementation doesn't even have to let you set the
option).
Assisted by Gemini.
Firewall - fix interface sortng by value for live-log and groups, closes https://github.com/opnsense/core/issues/10348
We might consider moving the sorting logic to BaseListField at some point as most cases expect sort by value anyway and we only have a couple of exceptions to that logic.
(cherry picked from commit 6ffad1bb73da9db36c409130fcf00a9af286f94f)
[TargetLowering] Split CTTZ_ELTS when its step vector requires splitting (#197623)
Follow-up to #190914: getLegalMaskAndStepVector() returns an empty
StepVec to signal that the operation should be split. Only
expandVectorFindLastActive handled this; expandCttzElts crashed by
dereferencing the null SDValue during vector op legalization. Apply the
same split-and-recurse strategy, preferring the low half since CTTZ_ELTS
finds the first active lane.
Assisted-by: Anthropic::claude-4.6
[AArch64][SVE] Match (add_like x (lsr y, c)) -> usra x, y, c
Modify SVE USRA pattern to accept add_like, so both add and or disjoint
forms can select usra.
Add known-bits support for predicated SVE logical shifts, allowing
or_disjoint matching to prove disjointness for plain ORs where possible.
py-pyrate-limiter: updated to 4.2.0
4.2.0
Guard sync _delay_waiter against negative wait values from bucket backends
fix(docs): align docstrings and fix: db_path=None temporary DB behavior
Typo fix for pypi
bug fix: Limiter initialization in README for SQLite
fix: add close() method to avoid ResourceWarning about unclosed transports
[IR] Don't use TrackingMDNodeRef for DebugLoc (#200649)
TrackingMDNodeRef is expensive and the tracking functionality is only
used when parsing textual LLVM IR. Therefore, store a plain DILocation
pointer in DebugLoc and update the debug locs explicitly when parsing
finishes.
Invalid debug metadata now fails directly at parsing and not (just)
later when verifying. A consequence is that old-style DILocations cannot
be parsed from textual IR anymore.
As related cleanup, remove the now-unused hasTrivialDestructor() on
TrackingMDRef.
While work on changing DILocation to no longer be metadata is on the
way, it is going to take a while to finish, we can get this immediate
performance and max-rss improvement earlier.
[SimplifyCFG] Permit less dense lookup tables (#200664)
It should be most often beneficial to generate a lookup table instead of
a jump table: the lookup table is rarely larger, but saves on
instructions and an indirect branch. Therefore, adjust the lookup table
threshold to match the jump table threshold.
The motivation is clang::Decl::castToDeclContext, which is a rather hot
function when parsing C++ programs, but the switch density is just 38%.
This improves stage2-O0g by 0.17% (7zip/kimwitu++ >0.5%).
py-txtorcon: updated to 26.6.0
26.6.0
* eliminate GeoIP as a dependency
This will still load Tor's geoip-db if GeoIP is installed, and the database is found.
Only country-codes are supported by this database.
Essentially this is just optimization: txtorcon will ask Tor for the country-code of anything interesting via the existing `get_location()` API.
[LoopInterchange] Enable it by default (#124911)
This enables loop-interchange, which was first discussed here:
https://discourse.llvm.org/t/enabling-loop-interchange/82589
All bugs have been fixed, including DependenceAnalysis, and all
components have at least one maintainer; default enablement is
now meeting the requirements in the Developer's policy.
This has been a major effort by different people, many thanks to:
- Ryotaro Kasuga,
- Madhur Amilkanthwar,
- Sebastian Pop,
- Ehsan Amiri,
- Michael Kruse,
- Nikita Popov,
- Sjoerd Meijer.