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 |
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 |
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 --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 \