diff mbox series

[FFmpeg-devel] x86/tx_float: do not build tx_float_init.c if x86 assembly is disabled

Message ID MuNYwVw--3-2@lynne.ee
State Accepted
Commit 9787005846893c1d1c01cb8ac71abed91980b218
Headers show
Series [FFmpeg-devel] x86/tx_float: do not build tx_float_init.c if x86 assembly is disabled | expand

Checks

Context Check Description
andriy/make_armv7_RPi4 success Make finished
andriy/make_fate_armv7_RPi4 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished
andriy/make_ppc success Make finished
andriy/make_fate_ppc success Make fate finished
andriy/make_aarch64_jetson success Make finished
andriy/make_fate_aarch64_jetson success Make fate finished

Commit Message

Lynne Jan. 26, 2022, 10:44 p.m. UTC
This broke builds with --disable-mmx, which also disabled assembly
entirely, but ARCH_X86 was still true, so the init file tried to find
assembly that didn't exist.
Instead of checking for architecture, check if x86 assembly is enabled.

Patch attached.
Subject: [PATCH] x86/tx_float: do not build tx_float_init.c if x86 assembly is
 disabled

This broke builds with --disable-mmx, which also disabled assembly
entirely, but ARCH_X86 was still true, so the init file tried to find
assembly that didn't exist.
Instead of checking for architecture, check if x86 assembly is enabled.
---
 libavutil/tx.c         | 2 +-
 libavutil/x86/Makefile | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

Comments

James Almer Jan. 26, 2022, 10:50 p.m. UTC | #1
On 1/26/2022 7:44 PM, Lynne wrote:
> This broke builds with --disable-mmx, which also disabled assembly
> entirely, but ARCH_X86 was still true, so the init file tried to find
> assembly that didn't exist.
> Instead of checking for architecture, check if x86 assembly is enabled.
> 
> Patch attached.


> From 97e91aea87876a542a0f075e7093708f38f38a8c Mon Sep 17 00:00:00 2001
> From: Lynne <dev@lynne.ee>
> Date: Wed, 26 Jan 2022 23:40:35 +0100
> Subject: [PATCH] x86/tx_float: do not build tx_float_init.c if x86 assembly is
>  disabled
> 
> This broke builds with --disable-mmx, which also disabled assembly
> entirely, but ARCH_X86 was still true, so the init file tried to find
> assembly that didn't exist.
> Instead of checking for architecture, check if x86 assembly is enabled.
> ---
>  libavutil/tx.c         | 2 +-
>  libavutil/x86/Makefile | 3 ++-
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/libavutil/tx.c b/libavutil/tx.c
> index cac7815231..5c1ac20c92 100644
> --- a/libavutil/tx.c
> +++ b/libavutil/tx.c
> @@ -439,7 +439,7 @@ av_cold int ff_tx_init_subtx(AVTXContext *s, enum AVTXType type,
>          ff_tx_codelet_list_double_c,
>          ff_tx_codelet_list_int32_c,
>          ff_tx_null_list,
> -#if ARCH_X86
> +#if HAVE_X86ASM
>          ff_tx_codelet_list_float_x86,
>  #endif
>      };
> diff --git a/libavutil/x86/Makefile b/libavutil/x86/Makefile
> index d747c37049..d66839e35d 100644
> --- a/libavutil/x86/Makefile
> +++ b/libavutil/x86/Makefile
> @@ -3,7 +3,8 @@ OBJS += x86/cpu.o                                                       \
>          x86/float_dsp_init.o                                            \
>          x86/imgutils_init.o                                             \
>          x86/lls_init.o                                                  \
> -        x86/tx_float_init.o                                             \
> +
> +OBJS-$(HAVE_X86ASM) += x86/tx_float_init.o                              \

This is not how we normally handle things. Init files for a given target 
arch should compile regardless of what is enabled at configure time. DCE 
with all the EXTERNAL_ checks should take care of not referencing 
symbols that nasm will not assemble.

>  
>  OBJS-$(CONFIG_PIXELUTILS) += x86/pixelutils_init.o                      \
>  
> -- 
> 2.34.1
>
diff mbox series

Patch

diff --git a/libavutil/tx.c b/libavutil/tx.c
index cac7815231..5c1ac20c92 100644
--- a/libavutil/tx.c
+++ b/libavutil/tx.c
@@ -439,7 +439,7 @@  av_cold int ff_tx_init_subtx(AVTXContext *s, enum AVTXType type,
         ff_tx_codelet_list_double_c,
         ff_tx_codelet_list_int32_c,
         ff_tx_null_list,
-#if ARCH_X86
+#if HAVE_X86ASM
         ff_tx_codelet_list_float_x86,
 #endif
     };
diff --git a/libavutil/x86/Makefile b/libavutil/x86/Makefile
index d747c37049..d66839e35d 100644
--- a/libavutil/x86/Makefile
+++ b/libavutil/x86/Makefile
@@ -3,7 +3,8 @@  OBJS += x86/cpu.o                                                       \
         x86/float_dsp_init.o                                            \
         x86/imgutils_init.o                                             \
         x86/lls_init.o                                                  \
-        x86/tx_float_init.o                                             \
+
+OBJS-$(HAVE_X86ASM) += x86/tx_float_init.o                              \
 
 OBJS-$(CONFIG_PIXELUTILS) += x86/pixelutils_init.o                      \