sysutils/vitaly: [NEW PORT] VIA/Vial CLI configuration tool for QMK keyboards
Vial CLI tool allows to configure keyboard through VIA/Vial protocol with
command line interface. It supports QMK keycodes notation together with aliases.
Keys, encoders, combos, macros, tap dances, key overrides and alt repeat keys
are supported. RGB lighting control is supported too.
Non-colored underglow is not supported for now because there is no devices with
such features around me.
Tool support --help for tool as a whole and for all subcommands.
WWW: https://github.com/bskaplou/vitaly/
[CIR] Add presplitcoroutine attribute and enable coroutine lowering to LLVM IR (#239447)
Emit the `presplitcoroutine` function attribute when lowering a
`cir.func` that has a coroutine kind. `LLVM's` coroutine passes use this
attribute to identify the functions they need to split, so `CIR`
coroutines can now be lowered to LLVM IR
[compiler-rt][test] Propagate CMAKE_SYSROOT to all Linux tests (#241085)
Reverts llvm/llvm-project#240790
(7ef93748feaebefe516af5ebdee432a820ca37f5) and relands
llvm/llvm-project#239742 (97218874e828e38eac17c5ecef78ef962fae0342) /
llvm/llvm-project#120798 by @aaronpuchert.
Keep `-funwind-tables` in `sanitizer_common` and only move
`--sysroot=${CMAKE_SYSROOT}` to `get_test_cc_for_arch`, fixing
`Builtins-armhf-linux` (`-nodefaultlibs` without `libunwind`) link
failures on
https://lab.llvm.org/buildbot/#/builders/clang-armv8-lld-2stage.
Co-authored-by: Aaron Puchert <aaron.puchert at sap.com>
Assisted-by: Gemini
[JITLink][COFF] Bound getGraphBlock by the section count (#239715)
getGraphBlock checked the section index against the number of symbol
table entries instead of the number of sections. In an object with no
more symbol table entries than sections, valid sections had no block,
and linking failed with "Referencing a section that wasn't added to the
graph". An index past the last section read past the block table.
Assisted-by: Claude Code
netipsec: Release the sahtree lock on the AH and IPComp EAGAIN paths
183513d15f22 made the AH, ESP and IPComp input callbacks hold the
sahtree read lock, but only esp_input_cb() drops it before resubmitting
a request that the crypto framework completed with EAGAIN.
ah_input_cb() and ipcomp_input_cb() return with the lock still held.
crypto_invoke() completes requests with EAGAIN while their driver
detaches. Detaching ossl(4) under inbound AH traffic then hangs the
next rmlock writer, and the system panics with "spin lock held too
long" in smp_rendezvous_cpus() called from _rm_wlock().
Release the lock as esp_input_cb() does.
Reported by: llm-postcr
Reviewed by: kib
Fixes: 183513d15f22 ("sys/netipsec: ensure sah stability during input callback processing")
MFC after: 1 week
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D61399
TableGen: Error on allocatable register classes with an empty allocation order
A register can never be allocated from a class with an empty
allocation order. This can happen when an alternative order excludes
every member, or when an inferred class inherits such an order from
its super class.
Classes with no members are exempt, since AMDGPU's VReg_1 is a verfy
hacky, intentionally empty allocatable class.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
ppp: bound IPCP IP-Address replies to the reply buffers
`ipcp_ValidateReq()` appended `IP-Address ack/nak/reject` records to the fixed `fsm_decode` buffers without a bound check. A `Config-Request` with ~17 or more `IP-Address` options overran a buffer into its own end pointer, so later writes could go wherever the peer chose.
Emit the option through `fsm_ack()/fsm_nak()/fsm_rej()` like the other options.
Reviewed by: markj
Approved by: adrian (mentor)
Signed-off-by: Nick Price <nprice at FreeBSD.org>
Differential Revision: https://reviews.freebsd.org/D61326
[clang][nfc] Add baremetal runtime path checks (#238184)
Showing how the multilib configuration affects runtime include and lib
paths.
This change also adds comments to describe why the include paths and lib
paths have slightly different handling.
Assisted-by: AI
Attributor: Make IRPosition::verify inline without expensive checks
IRPosition::verify only checks anything with EXPENSIVE_CHECKS, but
every IRPosition constructor still called it out of line. This
prevented keeping the position in registers plus the cost of the call.
Instruction counts (callgrind) over 68 llvm-test-suite TUs, with other
pending attributor-light changes applied, median:
attributor-light -0.71% (-0.45%), attributor-light-cgscc -0.31% (-0.38%),
attributor -0.35% (-0.45%).
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[compiler-rt][test] Keep -funwind-tables in sanitizer_common
`get_test_cc_for_arch` is also used by `Builtins-armhf-linux`, which
links tests with `-nodefaultlibs` and without `libunwind`/`libgcc_eh`.
Passing `-funwind-tables` there emits `.ARM.exidx` tables with undefined
references to `__aeabi_unwind_cpp_pr0` and `__aeabi_unwind_cpp_pr1` on
https://lab.llvm.org/buildbot/#/builders/clang-armv8-lld-2stage
(#240790).
Keep `-funwind-tables` in `sanitizer_common` and only propagate
`--sysroot=${CMAKE_SYSROOT}` in `get_test_cc_for_arch`.
Assisted-by: Gemini
RuntimeLibcalls: Add missing attributes to memory and allocator libcalls
Add the attributes inferLibFuncAttributes would give these functions.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[LLDB] Guard Process::m_instrumentation_runtimes with a mutex
This patch is the sixth part in a patch series that will allow
enabling/disabling InstrumentationRuntime plugins in a running debug
session.
`Process::m_instrumentation_runtimes` can be accessed from multiple
threads. For example, a plugin can be enabled/disabled in a process
from the command thread (or from another debugger when using the
`global` domain) while `Process::ModulesDidLoad()` iterates over the
plugins on another thread, or while an SB API client calls
`Process::GetInstrumentationRuntime()`. These accesses were
unsynchronized.
Now every access to `m_instrumentation_runtimes` is guarded by the new
`m_instrumentation_runtimes_mutex`:
* `Process::Finalize()` and `Process::DidExec()` clear the map while
holding the mutex.
[13 lines not shown]
[LLDB] Keep InstrumentationRuntime plugins alive during breakpoint callbacks
This patch is the fifth part in a patch series that will allow
enabling/disabling InstrumentationRuntime plugins in a running debug
session.
InstrumentationRuntime plugins passed a raw `this` pointer as the baton
for their breakpoint callbacks. Now that disabling a plugin in a process
destroys the plugin instance, a plugin could be destroyed (e.g. by
`plugin disable` running on the command thread) while one of its
breakpoint callbacks was running on another thread (e.g. the thread
handling the stop event), causing a use-after-free.
Try to partially fix this by keeping a plugin alive while the baton is being
used. Now the plugins use a baton created by
`InstrumentationRuntime::CreateBreakpointBaton()` which only holds a weak
reference to the plugin. In a callback,
`InstrumentationRuntime::GetRuntimeFromBaton()` gets a strong reference to the
plugin which keeps the plugin alive until the callback finishes. If the plugin
[13 lines not shown]
[LLDB] Support enabling/disabling InstrumentationRuntime plugins in a debug session
This patch is the fourth part in a patch series that will allow
enabling/disabling InstrumentationRuntime plugins in a running debug
session.
This is a rework of an older now abandoned patch:
https://github.com/llvm/llvm-project/pull/193334
Previously enabling/disabling an instrumentation runtime plugin via the
`plugin enable/disable instrumentation-runtime.<name>` command was only
supported using the `global` domain. This only toggled the plugin's
enablement state in the PluginManager. This would affect the enablement
in newly launched processes but not in any existing processes. In
practice what this meant is that:
1. If the plugin was activated when the inferior process was launched it
could not be disabled even if requested. This meant it was impossible
to prevent LLDB from stopping at the breakpoint set by an
[106 lines not shown]
tailscale: 1.104.6
All:
- A rare connectivity issue that affected dormant connections has
been resolved.
Darwin:
- Error handling has been improved when multiple network extensions
are present.
- An issue where MagicDNS could select a suffix-scoped DNS resolver
during network transitions has been resolved.
- A DNS configuration race condition that could occur during network
transitions has been resolved.
Attributor: Hash all bits of the abstract attribute map keys
The AA IDs are adjacent bytes and the positions of a value only differ
in the low bits, which the default hashes mostly ignore, so many AAMap
keys collide. Hash the full key instead.
attributor-light instruction counts (callgrind): -0.6% to -4.3%, full
attributor -0.5% to -1.5%. CTMark (-attributor-enable=light): O3
-0.01%, ThinLTO -0.03%.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>