PR #24748 opened by Pepe
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24748
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24748.patch

Fixes #24747

The dcbzl probe re-enables dcbzl even when it was disabled by `--disable-dcbzl` 
or by the e500/e500v2 `--cpu` cases, and e500 cores trap on it (SIGILL in 
`ff_blockdsp_init_ppc()` on a P2020). This runs the probe only when dcbzl is 
not disabled. It is Peter Krefting's 2022 fix (patchwork 38333) in the form 
@michaelni suggested there.

Tested on a P2020 with master: the unpatched builds (`--cpu=8548 
--disable-dcbzl` and `--cpu=e500v2`) crash, the patched ones contain no dcbzl 
and decode fine. configure output is unchanged for all other PowerPC `--cpu` 
values.

Not changed here: `--cpu=8540` and `8548` still need `--disable-dcbzl`, generic 
ppc builds still enable dcbzl, and the ppc4xx probe has the same problem 
(#22698).

cc @sean_mcg



>From 65b8a2bad912c39e8fd63b772dc952e8bbd40f1b Mon Sep 17 00:00:00 2001
From: Josef Schlehofer <[email protected]>
Date: Mon, 28 Sep 2026 07:56:27 +0200
Subject: [PATCH] configure: do not probe dcbzl when it is disabled

The dcbzl probe runs unconditionally and re-enables dcbzl whenever the
assembler accepts it, overriding --disable-dcbzl and the "disable dcbzl"
in the e500 and e500v2 --cpu cases. e500 cores trap on dcbzl, so ffmpeg
dies with SIGILL in ff_blockdsp_init_ppc() on a P2020 (e500v2) as soon
as it opens an MPEG-2 decoder.

Only run the probe when dcbzl is not disabled.

Fixes: #24747
Suggested-by: Michael Niedermayer <[email protected]>
Original-patch-by: Peter Krefting <[email protected]>
Signed-off-by: Josef Schlehofer <[email protected]>
---
 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index 759cb8da10..5d8268fcfd 100755
--- a/configure
+++ b/configure
@@ -6662,7 +6662,7 @@ elif enabled parisc; then
 
 elif enabled ppc; then
 
-    check_inline_asm dcbzl     '"dcbzl 0, %0" :: "r"(0)'
+    disabled dcbzl || check_inline_asm dcbzl '"dcbzl 0, %0" :: "r"(0)'
     check_inline_asm ibm_asm   '"add 0, 0, 0"'
     check_inline_asm ppc4xx    '"maclhw r10, r11, r12"'
     check_inline_asm xform_asm '"lwzx %1, %y0" :: "Z"(*(int*)0), "r"(0)'
-- 
2.52.0

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to