audio/flacon: update the port to version 12.0.0
- Fix test data so it matches modern MediaInfo(Lib)
- Ensure that build log would contain tests results
if they fail
Reported by: portscout
[git-clang-format] Don't format the line preceding a deletion (#215946)
`git diff -U0` renders a pure deletion as `@@ -3,3 +2,0 @@`: no new
lines,
anchored at the preceding line. extract_lines coerces that zero count to
one, so clang-format reformats a line the deletion never touched.
Skip such hunks, matching clang-format-diff.py. start_line is 0 only for
deletions at the start of a file, so that check goes away as well.
Aided by Claude Opus 5
(cherry picked from commit fe0143b1a97484e10bc11b012ceb2c1ecd8bc38c)
Add option to format a whole file using git-clang-format (#204336)
Today, git-clang-format will only format lines which have been modified.
However, in some cases, that's not sufficient to get a "clean" file
which would be unmodified by running `clang-format` manually.
I've got a minimal repro using the default clang-format rules. Setup a
new git repository and create a commit with an empty file:
```
mkdir /tmp/bla
cd /tmp/bla
git init
touch t.cpp
git add t.cpp
git commit -m "V1"
```
Add a line to that file containing a comment:
[30 lines not shown]
workflows/release-binaries: Smaller WiX installer on Windows (#219858)
Reduce WiX installer size by using LZX compression instead of MSZIP
previously. Tested on `release/23.x` at commit
fdf0409c656cc66c61b14d71c831f2b453c13e19 targetting Win64:
- MSZIP: 779 MiB
- LZX: 613 MiB
(cherry picked from commit dee1f43598034a63b3de521032bb894b33152b1c)
[C++20] [Modules] Handling merging predefined decls from std (#219151)
Close https://github.com/llvm/llvm-project/issues/218152
This was only reported in windows as MSSTL chose to implement std module
by wrapping the STL into extern "C++", which is different from libstdc++
and libc++.
But technically this is not specific to windows and we're able to
preoduce it in linux although we won't face it in linux.
(cherry picked from commit 52774473867e49b5891ab9381accf4e5a3ce0024)
[orc-rt] Move connection state and teardown to SimpleRemoteCA (#220188)
Shares the connection-state and teardown logic between transports.
SimpleRemoteCA now tracks connection state, so disconnect,
callController and sendWrapperResult are final. A controller call either
registers under the same lock that publishes the state, or is failed
inline on the caller's stack, so it can never be left pending with no
result to come. Teardown funnels through finishTeardown, which drains
pending calls and then notifies the Session exactly once, however
teardown began. registerPendingCall and failAllPendingCalls become
private.
Subclasses implement connect plus two hooks. The base calls sendMessage
with an opcode, sequence number, tag and payload for the transport to
frame and send; it runs with no lock held, so framing stays off the
critical section, and is best-effort, so a transport that has gone away
can drop the message. beginTeardown stops the transport, sending an
orderly hang-up first, and calls finishTeardown once it is done.
[4 lines not shown]
[AArch64][PAC] Emit tail calls more efficiently
It may be required to insert explicit checks that LR was authenticated
successfully before performing a tail call. Previously, such checks were
inserted when expanding the TCRETURN pseudo instructions, if the stack
frame was created by the particular function. This did not take into
account the shrink-wrapping optimization, though.
This commit introduces a separate `PAUTH_CHECK_LR` pseudo instruction.
A conservative heuristic is implemented that drops the completely useless
checks. Furthermore, it moves the remaining checks to the shrink-wrapping
epilogue (if any), but only if that doesn't hurt any regular return code
paths.
[libc++][docs][NFC] Remove Format and Parallelism TS status pages (#220021)
Removes the last meta-status pages in favor of GitHub meta-issues.
Co-authored-by: Hristo Hristov <zingam at outlook.com>
[libc++][ranges][enumerate_view] Update iterator `iter_move` test (#219474)
Completes the [range.enumerate.iterator] `iter_move` test by addressing
the review comment
https://github.com/llvm/llvm-project/pull/73617#discussion_r1416642892
from the original implementation.
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Co-authored-by: Hristo Hristov <hghristov.rmm at gmail.com>
Co-authored-by: A. Jiang <de34 at live.cn>
crypto/openssl: update to 3.5.8
This is a security bugfix release. Please see the related merge commit
for more details.
Maintainer note: `quic_ackm.h`'s conflict was resolved by taking
the upstream version of the file verbatim.
Conflicts:
crypto/openssl/include/internal/quic_ackm.h
MFC after: 3 days
Merge commit '248da023ae5ea7292930ac5d715d88b87e2e6f46'
(cherry picked from commit 78e936b2d0b5e6554425009199be31e76bc67c10)
crypto/openssl: update generated content to match 3.5.8 release
This contains 2 new manpages as well as some minor manpage content
changes.
MFC with: 78e936b2d
(cherry picked from commit 0d4d0f3a9f229f9e822b43234b0ff72e7223f19f)
cad/fidocadj: Update to 0.24.9.e
- Add a post-patch target to fix the make target and some entries in the
desktop file
- Install a desktop menu file and relative icon
- Pet port(clippy|fmt)
- Use shebangfix with the build scripts provided upstream
ChangeLog:
1. https://github.com/FidoCadJ/FidoCadJ/releases/tag/v0.24.9-epsilon
Reported by: "github-actions[bot]" <notifications at github.com>
[AArch64][PAC] Prevent PAUTH_EPILOGUE from overwriting live registers
With shrink-wrapping, it is possible for PAUTH_EPILOGUE to be inserted
in the middle of the function where X15/X16/X17 may be alive and must
not be clobbered.
This commit implements ad-hoc spilling of the scratch registers used by
PAUTH_EPILOGUE to other GPRs. If no such registers is available at the
insertion point, an explicit compiler error is triggered.
[AArch64][PAC] Precommit tests on efficient LR checks before tail calls
When performing a tail call with pac-ret hardening enabled, depending on
the performance vs. security trade-off, it may be required to insert an
explicit check that the LR register contains a valid address (that is,
the authentication succeeded), as unlike a regular call, a tail call does
not dereference LR right away.
When shrink-wrapping optimization is in effect, this might be expensive
both in terms of time complexity and code size. This commit adds several
tests demonstrating the existing codegen behavior.
[AArch64][PAC] Fix the list of registers clobbered by PAUTH_EPILOGUE
When SP adjustment might be needed, whether X15 scratch register can be used
by PAUTH_EPILOGUE or not depends on PAuth LR hardening being requested for
the particular function, not the availability of `FEAT_PAuth_LR`.
java/openjfx14: Fix openjfx14 after 9477c9da0a4
Removing USE_LDCONFIG from openjdk11 caused the package for openjfx14 to
fail to build, because it could not find libjvm.so, previously exported
from openjdk11 (and 8).
Making the openjfx14 package ignore this should be safe, as it in any
case relies on openjdk11 which again contains the lib and knows how to
locate and load it.
Thanks to ronald@ for pointing me in the right direction!
PR: 297282
Reported by: vvd at FreeBSD.org
Reviewed by: vvd at FreeBSD.org
Tested by: vvd at FreeBSD.org
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D59290
devel/glib2: Don't try to set TCP_NODELAY on AF_UNIX sockets.
glib2 was calling setsockopt(socket, IPPROTO_TCP, TCP_NODELAY, ...) on AF_UNIX
sockets and ignoring the error. This interacted badly with a future change in
the pledge subsystem to strictly scope options to the socket's protocol.
ok ajacoutot@
[Mips] Select GPR register class based on requested type size (#220012)
In MipsTargetLowering::getRegisterByName(), the register class was
previously selected solely based on Subtarget.isGP64bit(), ignoring the
requested value type size (VT).
When compiling for a 64-bit MIPS CPU with the 32-bit o32 ABI (such as
-mcpu=mips3 -target-abi=o32), Subtarget.isGP64bit() is true even though
32-bit registers are expected. Reading a 32-bit named register like $gp
(e.g., via llvm.read_register.i32) returned a 64-bit register ($gp_64).
This resulted in a cross-register-class copy from GPR64 to GPR32 that
MipsSEInstrInfo::copyPhysReg() could not lower. In builds without
assertions, this constructed an invalid TargetOpcode::PHI (opcode 0)
instruction and caused a crash in MipsMCCodeEmitter during object file
emission.
Inspect VT.getSizeInBits() in getRegisterByName() to select
GPR32RegClassID for 32-bit types and GPR64RegClassID for 64-bit types
when supported by the subtarget, reporting an error for invalid types.
[3 lines not shown]