On Wed, 20 Dec 2023, Martin Storsjö wrote:
The file libavcodec/x86/mlpdsp_init.c uses inline assembly with
nonlocal labels that are referenced outside of the assembly in C.
This fails to link with LTO when built with Clang when targeting
Windows.
The root cause has been reported upstream at
https://github.com/llvm/llvm-project/issues/76046.
Fixes: https://trac.ffmpeg.org/ticket/10548
---
configure | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/configure b/configure
index 7742ea4ba2..b4f7c2de66 100755
--- a/configure
+++ b/configure
@@ -7372,6 +7372,16 @@ if [ -n "$lto" ]; then
check_cflags $lto
check_ldflags $lto $cpuflags
disable inline_asm_direct_symbol_refs
+ if test "$cc_type" = "clang"; then
+ # Clang's LTO fails on Windows, when there are references outside
+ # of inline assembly to nonlocal labels defined within inline assembly,
+ # see https://github.com/llvm/llvm-project/issues/76046.
+ case $target_os in
+ mingw32|win32)
+ disable inline_asm_nonlocal_labels
+ ;;
+ esac
+ fi
fi
Will push soon
// 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".