net/samba425: restore missing get_quota vfstest command (cmd_vfs.c)
The combined patch adding a "get_quota" command to vfstest (present
identically in net/samba419, 420, 422, 423, and 424) touches two
files: source3/torture/cmd_vfs.c (the command implementation and its
vfs_commands[] registration) and source3/torture/wscript_build
(installs vfstest instead of building it selftest-only). Only the
wscript_build half survived into samba425 — the cmd_vfs.c half was
dropped.
Restored patch-source3_torture_cmd__vfs.c, adapted (not just copied
verbatim) to the real samba-4.25.0 upstream API: SMB_VFS_GET_QUOTA()
dropped its explicit conn parameter and now takes an fsp directly, and
the file resolution pattern changed from synthetic_smb_fname() to
synthetic_pathref()+smb_fname->fsp (mirroring the sibling
cmd_disk_free() function, which upstream already migrated the same
way between 4.24 and 4.25). Verified against a real FreeBSD build:
the first version of this patch (ported mechanically from samba424,
pre-dating the SMB_VFS_GET_QUOTA signature change) failed to compile
[7 lines not shown]
[MLIR][CIR][CMake] Prune unused object dependencies from Clang builds
The generated-header dependency stack narrows header ordering, but broad
static-library dependencies still compile members that the Clang linker
never extracts. Split the required code into reusable components, replace
header-only relationships with HEADER_LIBS, and remove unused link edges.
Keep the existing public static archives complete by reusing the component
objects, preserving their member sets and externally defined strong symbols.
Retain the pattern-logging component for assertions and Debug builds.
On top of PR #222399, this eliminates 74 unused MLIR object compilations
and one unused CIR interface object. Additional C++ compilations for CIR
drop from 421 to 346. The 50 MLIR host-generator objects remain necessary
and are accounted for separately; all 346 retained objects are byte-identical
between the reference and pruned builds. The Clang binary size is unchanged.
Measured with Release, native X86, assertions and LTO off, Clang/LLD 22.1,
ccache disabled, 16 unpinned jobs, and no separate link-job limit:
[19 lines not shown]
[Hexagon] Fuse vminub intrinsic pair (#225153)
Fuse matching A2_vminub and C2_cmpgtup intrinsics into the dual-output
A6_vminub_RdP instruction in HexagonPeephole.
Added a command-line flag to toggle this behaviour. This change also
removes unused generic intrinsic mapping support.
[Liveness][analyzer] Fix liveness of binary logical operators and their subexpressions (#231419)
Issue #227349 reported a clang static analyzer false negative, where a
division by zero error is not found in the following code:
```
int f(bool b) {
bool condition = (b && b || b && b);
int y = condition ? 0 : 1;
return 1 / y;
}
```
It turned out, that the expressions `b` were prematurely considered dead
and, as a result, their associated values were getting purged from the
environment. This caused the path where the denominator `y` is zero to
be lost.
This patch makes sure that the children of binary logical operators have
their liveness properly handled.
[flang][OpenMP] Ignore DECLARE_SIMD and warn about missing implementation
DECLARE_SIMD is a hint to the compiler and ignoring it is technically
speaking a conforming implementation (although obviously not desirable).
Do not abort compilation when DECLARE_SIMD is encountered, but emit
a warning that it's currently ignored.
[libc] Use a syscall wrapper for `sched_getparam` (#232689)
This PR move `sched_getparam` behind the centralized syscall wrappers,
following `libc/docs/dev/syscall_wrapper_refactor.md`.
[AMDGPU] Remove some uses of std::get. NFC. (#232655)
This is just stylistic. I find it much nicer to read `.first` (for a
pair) or structured bindings.
[lldb] Keep qSymbol test artifacts in the build directory
Use a relative source fixture path so createTarget does not resolve its output into the source tree.
Assisted-by: OpenAI Codex
[lldb] Resolve dispatch qSymbol requests by exact linkage name
Use the opt-in linkage-name lookup for dispatch_queue_offsets while preserving generic matching for other remote requests and existing address and symbol-type handling. Cover C++ basename decoys and an absent dispatch data symbol with the mock server.
Assisted-by: OpenAI Codex
[lldb] Use linkage names for primary JIT symbol lookup
Resolve original JIT symbol requests with the exact linkage-name path while retaining source-name lookup for function-call-label and alternate C++ fallbacks. Preserve module order, platform exclusions, weak-symbol handling, and trampoline filtering.
Assisted-by: OpenAI Codex
[lldb] Register the Bounds runtime fixture shared library
Supply the harness library search environment when launching, so Linux can load Unrelated before reaching main.
Assisted-by: OpenAI Codex
ARM: Don't duplicate implicit operands when expanding t2CALL_BTI (#232459)
The expansion built a new tBL, which already has the LR def and SP use
from its descriptor, and then copied all of the pseudo's operands
duplicating the LR def and SP use. Mutate the pseudo in place since
both opcodes have identical operands. This avoids failing a future
verifier check.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[clang][Driver] Use the Windows ARM64 defaults for aarch64-unknown-uefi
Match the Windows ARM64 driver defaults for aarch64-unknown-uefi, which
follows the same ABI:
* char is signed, so do not pass -fno-signed-char,
* the frame chain must stay valid even when frame pointers are omitted,
so -fomit-frame-pointer yields -mframe-pointer=reserved rather than
none, as the backend reserves the frame pointer for UEFI as well.
Assisted-by: Claude
[clang] Add aarch64-unknown-uefi target
Add the aarch64-unknown-uefi target to clang, building on the backend
support added in the preceding patches. Like x86_64-unknown-uefi it
follows the Microsoft ABI conventions, matching the Windows ARM64 target
which is the only way EFI applications for AArch64 can be built with
Clang/LLVM today:
* add UEFIAArch64TargetInfo: LLP64 types, Microsoft C++ ABI, char*
based va_list and the Win64 calling convention kind,
* use the Windows AArch64 ABI info in CodeGen for UEFI,
* accept aarch64 for *-uefi triples in the driver.
The UEFI toolchain already handles the linker invocation (lld-link with
/subsystem:efi_application), so no further driver changes are needed.
Assisted-by: Claude
[AArch64] Apply the Windows SEH and CRT codegen constraints to UEFI
aarch64-unknown-uefi uses SEH unwind information and has no C runtime
library, so the remaining Windows specific codegen decisions that follow
from this apply to it too:
* do not align loops or basic blocks, since SEH unwind info generation
needs the exact function layout before alignment padding is inserted,
* sign return addresses with the B key by default and reject A key
signing, matching the pac_sign_lr unwind code used by the unwinder,
* do not lower wide shifts to libcalls at -Oz, as those helpers are not
available.
The corresponding Windows tests gain aarch64-unknown-uefi run lines and
the LLVM release notes announce the new target, which completes the
backend side of aarch64-unknown-uefi support.
Assisted-by: Claude
[AArch64] Classify global references on UEFI like Windows COFF
Apply the Windows COFF rules for global references to
aarch64-unknown-uefi, which produces the same PE/COFF images:
* classify dllimport and non-dso-local globals with MO_DLLIMPORT /
MO_COFFSTUB, so extern_weak symbols are referenced through a stub that
can be resolved to zero by the linker,
* keep the existing SelectionDAG, FastISel and GlobalISel handling of
calls and tail calls to extern_weak functions in sync with that,
* default to the PIC relocation model, so jump tables and other
references stay position independent in relocatable PE images,
* lower ifuncs on UEFI as COFF has no support for them.
The extern weak and jump table tests gain aarch64-unknown-uefi run lines.
Assisted-by: Claude
[AArch64] Use Windows style stack probing on UEFI
Like Windows, and like x86_64-unknown-uefi already does, probe large
stack frames and dynamic allocas through the __chkstk helper on
aarch64-unknown-uefi instead of the inline stack probe loop:
* make the __chkstk STACK_PROBE libcall available for AArch64 UEFI,
* select the Windows stack probe paths in frame lowering,
LowerDYNAMIC_STACKALLOC and the SME state buffer allocation, honouring
the "no-stack-arg-probe" attribute as on Windows,
* fall back from GlobalISel to SelectionDAG for dynamic allocas, as is
done for Windows, since the IRTranslator does not implement the probing.
The existing chkstk and alloca tests gain aarch64-unknown-uefi run lines.
Assisted-by: Claude