[lldb] Interpret the ptrauth intrinsics in IRInterpreter (#232467)
This PR is to upstream the support for `__ptrauth`-qualified pointer in
`IRInterpreter` on arm64e. The first commit is the downstream commit to
implement this support, and the second commit is to migrate the test to
recent test base class `Arm64eTestBase`.
---------
Co-authored-by: Adrian Prantl <aprantl at apple.com>
Co-authored-by: Vedant Kumar <vsk at apple.com>
Co-authored-by: Fred Riss <friss at apple.com>
[libc++] Provision a suitable CMake for CI builds
The previous commit raised cmake_minimum_required to 3.31. The GitHub
jobs already satisfy it (the Linux image pins 3.31.0, macOS uses brew,
Windows uses the hosted image), but some self-hosted Buildkite agents
ship an older CMake and their images cannot be updated by us.
Teach run-buildbot to check the CMake version up front. When the cmake
on PATH is new enough, this costs a single `cmake --version` and nothing
else changes. Otherwise, download a pinned, SHA-256 verified CMake
3.31.12 release binary into ${XDG_CACHE_HOME:-~/.cache}/libcxx (outside
the build directory that run-buildbot wipes) and, when no binary exists
for the host or it cannot run there, bootstrap it from source with the
host compilers rather than the runtime's CC/CXX. The install is
published with an atomic rename so concurrent builders on one agent
never see a partial cache entry.
An explicit CMAKE override is still honored but now validated; in the
provisioned or overridden cases its directory is prepended to PATH so
[5 lines not shown]
[AArch64][FMV]Set undetectable dependent features during initialization (#231912)
Some targets don't set bits in __aarch64_cpu_features for all dependent
features of given feature during initialization as they cannot be
detected at runtime. This leads to incomplete initialization of
__aarch64_cpu_features, preventing resolver from selecting the right
version.
This patch manually sets those undetectable dependent features.
---------
Co-authored-by: Tomas Matheson <Tomas.Matheson at arm.com>
[libsycl] Introduce Kernel name based cache (#225865)
This PR introduces a kernel name based cache, such that repeated
submissions of the same `kernel` on the same `context` & `device`, skip
most of `ProgramAndKernelManager::getOrCreateKernel` procedure for
compatibility and preparation.
Caches are owned by `DeviceKernelInfo` which is provided by the fat
binary at point of registration. As such each Kernel has an
unoredered_map of `(Context, Device)` -> `(Symbol)`. For every new
context or device combination for a kernel, there will be a first time
cost going through the whole procedure for compatibility and
preparation.
Assisted by Claude
uncm(4) update from Jan Schreiber and Mikolaj Kucharski
- remove unneeded splnet() calls
- during Tx, drop packets which are too big for a single NTB
- validate NCM_FORMAT before using this device-supplied value
- use the ifqueue(9) API to enqueue packets
- be more spec-compliant while checking wNdpOutAlignment
- close the control pipe before calling usb_rem_wait_task(9), not after
[libc++] Provision a suitable CMake for CI builds
Download and cache a pinned, checksum-verified CMake when the host version
is too old. Bootstrap from source when a compatible binary is unavailable,
using host compilers independently of the runtime toolchain.
Preserve explicit CMAKE overrides and expose the selected tool to helper
scripts through PATH. Keep the cache outside the runtime build directory.
Assisted-by: Codex
[OpenMP] Preserve host capture lifetimes in frontend lowering (#218453)
OpenMP outlined parallel regions lose information about the lifetime of
the capture slots. After the dereferenceable semantics changes, an
opaque() call can prevent the dereferenceable attribute on the outlined
function arguments from applying to the rest of the function, which
prevents loads of the capture slot from being hoisted.
- Clang: add nofreeobj to outlined parameters backed by stack
allocations or global variables.
- OpenMPIRBuilder: add nofreeobj and noalias to the generated
capture aggregate.
system: multiple users with the same UID share the same groups
This would actually prevent root from logging into the web GUI
as the page lookup failed because looking for the installer user
did not yield any associated pages.
Fix MemberField as well to show all the users.
Correct the description: the argument is effectively boolean,
and the only values that can be set are 0 and 3.
Minor polishing while here: use .Xr the first time "sysctl" occurs,
use .Rv below RETURN VALUES, add a few .Xrs below SEE ALSO,
and use the standard section name "CAVEATS" rather than "WARNING".
OK miod@; triggered by a question from Alejandro Colomar <alx at kernel.org>
rpki-client: close directory fds in process_start()
After changing the working directory to the cache directory, none of the
children needs access to either of the two directory fds in the parent.
Also close the cachefd when it is no longer needed in the main process to
match what was done to the output directory. Apart from some consistency,
the benefit of doing this is less obvious to me.
discussed with claudio and deraadt
ok claudio
NAS-144559 / 28.0.0-BETA.1 / Fix KMIP ZFS key sync with nested encryption roots (#20028)
## Problem
`get_encrypted_datasets` queried `zfs.resource` with
`get_children=True`, which rejects overlapping paths. Nested
key-encrypted roots (e.g. a key-encrypted pool root plus a child created
with its own key) are a normal layout, so every full push and pull of
ZFS keys failed with a validation error, leaving keys stuck on the KMIP
server and breaking server changes. Separately, push and pull pruned the
in-memory key cache down to the filtered database rows instead of the
datasets that exist, so the scoped push that runs whenever a
key-encrypted dataset is created or has its key changed evicted every
other KMIP-managed key from memory.
## Solution
Check existence by querying the exact paths without `get_children`, and
prune the cache only of keys whose dataset no longer exists in ZFS.
Pruning pops entries in place so concurrent sync jobs don't drop each
other's keys. The KMIP push/pull integration test now covers a nested
encryption root and checks the cache survives a scoped push.
[StructurizeCFG] Remove hidden option -structurizecfg-relaxed-uniform-regions (#232645)
This option has been enabled by default since 5a0794327a67 over 7 years
ago and I am not aware of any users that disable it. It only matters
when -structurizecfg-skip-uniform-regions is also enabled, which is
currently only done by the AMDGPU backend.
system: multiple users with the same UID share the same groups
This would actually prevent root from logging into the web GUI
as the page lookup failed because looking for the installer user
did not yield any associated pages.
[AMDGPU] Update sleep max (#232561)
The `s_monitor_sleep` has a maximum of around 8000 clock, but was
calculated by the low 6 bit multiply by 64.
So the maximum value in operand is 127.
Co-authored-by: shore <shorshen at amd.com>
[X86] vector-reduce-add-mask.ll - fix v4i16_v4i8 test so the v4i16 is representable as v4i8 (#232642)
Cut + paste typo that we didn't notice as we don't do much to reduce sub-128-bit vectors yet