[ELF,SPARC] Handle TLS IE relocations (#213500)
An initial-exec reference loads the symbol's TP-relative offset from the
GOT and adds the thread pointer:
```
sethi %tie_hi22(sym), %o0 # R_SPARC_TLS_IE_HI22
add %o0, %tie_lo10(sym), %o0 # R_SPARC_TLS_IE_LO10
ldx [%l7 + %o0], %o0, %tie_ldx(sym) # R_SPARC_TLS_IE_LDX
add %g7, %o0, %o0, %tie_add(sym) # R_SPARC_TLS_IE_ADD
```
The sethi and add form the GOT offset. In an executable a
non-preemptible symbol is optimized to Local Exec, as GNU ld does: the
sethi holds the complement, the add becomes an xor, and the load becomes
a register move, or a nop when source and destination are the same. The
thread pointer add is unchanged.
Co-authored-by: Kirill A. Korinsky <kirill at korins.ky>
Co-authored-by: LemonBoy <thatlemon at gmail.com>
Co-authored-by: Alex Rønne Petersen <alex at alexrp.com>
vaultwarden: updated to 1.37.1
1.37.1
Always send initOrganization and orgUserHasExistingUser in invite URL
Indirectly resolved 7475 by using newer rust-musl build images which had a compilation issue with OpenSSL.
[mlir][x86] Decouple Accumulator from ADD-Based Vector Contractions (over loops) (#204327)
This path transforms `vector.contract(A, B, Acc)` into
`vector.contract(A, B, 0) + Acc` to decouple the contraction computation
from the accumulator update for contractions over the loop.
ugrep: updated to 7.8.3
7.8.3
update regular expression compilation to DFA memory threshold issue 549 (explosive DFA growth is theoretically possible, but should never exceed a worst-case 1GB~2GB memory footprint in ugrep)
fix man page formatting issue that caused a missing sentence ending 550
update LZMA SDK to 26.02
chromaprint: updated to 1.6.1
1.6.1
Fixed a heap buffer overflow when decoding a fingerprint that has extra data after the encoded values. Applications that decode fingerprints from untrusted sources should update.
Fixed building against FFmpeg 4.x, which had not compiled since the channel layout API changed in 5.1
Audio can now be fed in buffers that do not end on a frame boundary; previously a partial frame at the end of a call was dropped
Fixed an implicit integer conversion warning on LLVM
Fixed installing to absolute paths
Build fpcalc against the system FFmpeg in CI
[ELF,SPARC] Handle GOTDATA relocations (#213497)
A PIC data reference forms the symbol's GOT offset with
R_SPARC_GOTDATA_OP_HIX22 and R_SPARC_GOTDATA_OP_LOX10 and loads through
it, with R_SPARC_GOTDATA_OP marking the load:
```
sethi %gdop_hix22(sym), %g1
xor %g1, %gdop_lox10(sym), %g1
ldx [%l7 + %g1], %g1, %gdop(sym)
```
When the symbol is neither preemptible nor absolute, optimize the load
to `add %l7, %g1, %g1` over the symbol's GOT-relative address. An
absolute symbol keeps the GOT load, as it can be arbitrarily far from
.got and we don't want the X86_64::relaxOpt complexity.
Co-authored-by: Kirill A. Korinsky <kirill at korins.ky>
Co-authored-by: LemonBoy <thatlemon at gmail.com>
Co-authored-by: Alex Rønne Petersen <alex at alexrp.com>
net/fort: fix fetching 1.7.0.experimental
Reported by: pkg-fallout
Fixes: 4839e2b8d102 ("net/fort: Update to 1.7.0.experimental")
Pointy hat to: philip
(cherry picked from commit fc30167e01877c6f091b6f17e4f94adf01a3d5bf)
net/fort: fix fetching 1.7.0.experimental
Reported by: pkg-fallout
Fixes: 4839e2b8d102 ("net/fort: Update to 1.7.0.experimental")
MFH: 2026Q3
Pointy hat to: philip
[JITLink] Remove LTmp workaround now that LLVM requires C++17 (#213428)
C++17 guarantees the postfix-expression naming the called function is
sequenced before evaluation of its arguments, so
L->linkPhase1(std::move(L)) is well-formed without the LTmp indirection.
This should also be implemented by MSVC now. See here (P0145R3 and
P0400R0):
https://learn.microsoft.com/ar-sa/cpp/overview/visual-cpp-language-conformance?view=msvc-170
Disclaimer: As I have no LLVM Windows machine with MSVC at hand, I was
not able to test it myself.
Co-authored-by: Claude <noreply at anthropic.com>