Reduce number of external symbols in libllvm, libclang and liblldb
In commit 2e47f35be5dc libllvm, libclang and liblldb were converted into
private shared libraries. This allowed clang, lld, lldb, and other llvm
tools to be linked against these shared libraries, which makes them
smaller and avoids duplication.
However, upstream builds the shared libraries using several visibility
options, which reduces the number of external symbols, and makes the
libraries a bit smaller.
On my test machine:
* libprivatellvm.so goes from 75643 to 34706 symbols (~54% reduction)
* libprivateclang.so goes from 53250 to 33531 symbols (~37% reduction)
* libprivatelldb.so goes from 27242 to 18798 symbols (~31% reduction)
Note: to get the full benefit, a clean build is required. Incremental
builds should still work, but I didn't want to force a full rebuild on
everybody.
[2 lines not shown]
[BOLT][BTI] Refactor BTI helpers (#173000)
- Add an enum to encode BTI variants in function arguments.
- Remove updateBTIVariant as createBTI can be used for the same
purpose.
- Remove a test case that checked against invalid BTI variants, as
those are now unrepresentable.
[OCaml] Try to fix library dependencies (#171470)
Whenever I try to change anything in the OCaml bindings, I run into
errors like this when running tests:
```
File
"/home/npopov/repos/llvm-project/build/test/Bindings/OCaml/Output/debuginfo.ml.tmp/Testsuite.ml",
line 1:
Warning 70 [missing-mli]: Cannot find interface file.
File
"/home/npopov/repos/llvm-project/build/test/Bindings/OCaml/Output/debuginfo.ml.tmp/debuginfo.ml",
line 1:
Error: The files
"/home/npopov/repos/llvm-project/build/lib/ocaml/llvm/llvm.cmi"
and
"/home/npopov/repos/llvm-project/build/lib/ocaml/llvm/llvm_debuginfo.cmi"
make inconsistent assumptions over interface "Llvm"
[12 lines not shown]
[OCaml] Fix warnings in llvm_debuginfo (#173011)
Fix an unused variable warning and a warning about missing return. As
this is C code we don't have llvm_unreachable() here, so I went with an
assert + dummy return.
[libc++] Add an ABI flag to make __bit_iterator trivially copyable (#172271)
This makes it trivial for the purpose of calls as well, making an
unconditional ABI break most likely impossible.
py-sphinx-automodapi: updated to 0.22.0
0.22.0 (2025-12-12)
- Minimum supported Python version is now 3.10.
- Fixing deprecation introduced in Sphinx 9.
0.21.0 (2025-12-01)
- Fixes compatibility with Sphinx 9.0.
- Minimum supported Python version is now 3.9.
- Minimum supported Sphinx version is now 5.
[MIRVRegNamerUtils] Handle instructions with multiple definitions (#172982)
The VRegRenamer considers only the first definition of an instruction for renaming.
Rename the virtual registers of all definitions, add test demonstrating the renaming of multiple definitions for AMDGPU.
dropbear: updated to 2025.89
2025.89 - 16 December 2025
- Security: Avoid privilege escalation via unix stream forwarding in Dropbear
server. Other programs on a system may authenticate unix sockets via
SO_PEERCRED, which would be root user for Dropbear forwarded connections,
allowing root privilege escalation.
Reported by Turistu, and thanks for advice on the fix.
This is tracked as CVE-2025-14282, and affects 2024.84 to 2025.88.
It is fixed by dropping privileges of the dropbear process after
authentication. Unix stream sockets are now disallowed when a
forced command is used, either with authorized_key restrictions or
"dropbear -c command".
In previous affected releases running with "dropbear -j" (will also disable
TCP fowarding) or building with localoptions.h/distrooptions.h
"#define DROPBEAR_SVR_LOCALSTREAMFWD 0" is a mitigation.
[39 lines not shown]
[RISCV][NFC] Use appendLEB128 in RISCVFrameLowering (#173198)
We can slightly simplify the callers by using appendLEB128 with an
appropriate sign argument.