On Sun, 2 Feb 2025, Michael Niedermayer wrote:

On Wed, Jan 29, 2025 at 11:58:54AM +0200, Martin Storsjö wrote:
This table is zero initialized by default, and has to be
explicitly initialized.

Coincidentally, this fixes linking checkasm with Apple's older
linker. (In Xcode 15, Apple switched to a new linker. The one in
older toolchains seems to have a bug where it won't figure out to
load object files from a static library, if the only symbol
referenced in the object file is a "common" symbol, i.e. one for
a zero-initialized variable. This issue can also be reproduced with
newer Apple toolchains by passing -Wl,-ld_classic to the linker.)
---
 tests/checkasm/aacencdsp.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

this sometimes fails

make -j32 fate-checkasm-aacencdsp

TEST    checkasm-aacencdsp
make -j32 fate-checkasm-aacencdsp

TEST    checkasm-aacencdsp
Test checkasm-aacencdsp failed. Look at tests/data/fate/checkasm-aacencdsp.err 
for details.
make: *** [tests/Makefile:311: fate-checkasm-aacencdsp] Error 1

checkasm: using random seed 3314560428
SSE:
- aacencdsp.abs_pow34   [OK]
SSE2:
  quant_bands_signed_sse2 (aacencdsp.c:94)
- aacencdsp.quant_bands [FAILED]
AVX:
- aacencdsp.quant_bands [OK]
checkasm: 1 of 5 tests have failed
threads=1
make: *** [tests/Makefile:311: fate-checkasm-aacencdsp] Error 1

Indeed, it turns out that the existing x86 assembly is kinda buggy; I sent a new patchset now, which runs correctly in checkasm with at least a couple thousand different seeds, tested on x86, aarch64 and riscv (with qemu).

// Martin
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to