[Buildroot] [PATCH v2 1/1] package/ffmpeg: fix fenv build failure on ARCv2 with glibc

Arnout Vandecappelle arnout at mind.be
Tue Nov 7 23:24:50 UTC 2017



On 07-11-17 22:37, Thomas Petazzoni wrote:
> Hello,
> 
> On Tue,  7 Nov 2017 22:11:49 +0100, Bernd Kuhls wrote:
>> https://git.buildroot.net/buildroot/commit/toolchain?id=0633eb58a2912328508a76f8fe9875a0d113a880
>> added glibc support for ARCv2 which lacks fenv.h.
>>
>> Fixes
>> http://autobuild.buildroot.net/results/aec/aec300d7d4472421398a24202d6871c965bd1be5/
>>
>> Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
> 
> Thanks!
> 
> Reviewed-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> 
>> -	# fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2
>> +	# fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on archs38
>> +	# in combination with glibc and nios2
>>  	# No support for ARMv7-M in the ARM assembly logic
>>  	# Microblaze build affected by gcc PR71124 (infinite loop)
>>  	# m68k coldfire causes a build failure, because the check for
>> @@ -9,7 +10,9 @@ config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
>>  	# not. See https://patchwork.ozlabs.org/patch/756664/ and
>>  	# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68467 for more
>>  	# details.
>> -	default y if !BR2_nios2 && !BR2_ARM_CPU_ARMV7M && !BR2_microblaze && !BR2_m68k_cf
>> +	default y if !(BR2_archs38 && BR2_TOOLCHAIN_USES_GLIBC) && \
>> +		!BR2_nios2 && !BR2_ARM_CPU_ARMV7M && \
>> +		!BR2_microblaze && !BR2_m68k_cf
> 
> We don't want to fix that now, but this is getting unreadable. Perhaps
> we could improve that by doing this:
> 
> config BR2_PACKAGE_FFMPEG_ARCH_BROKEN
> 	bool
> 	# blabla why
> 	default y if BR2_archs38 && BR2_TOOLCHAIN_USES_GLIBC
> 	# blabla why
> 	default y if BR2_nios2
> 	# ...
> 	default y if BR2_ARM_CPU_ARMV7M
> 	# ...
> 	default y if BR2_microblaze
> 	# blabla why
> 	default y if BR2_m68k_cf
> 
> config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
> 	bool
> 	default y if !BR2_PACKAGE_FFMPEG_ARCH_BROKEN

 Doesn't this work?

config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
	bool
	default y
	# blabla why
	depends on !BR2_archs38 || !BR2_TOOLCHAIN_USES_GLIBC
	# blabla why
	depends on !BR2_nios
	...

 I believe we use that construct elsewhere...

 Regards,
 Arnout

> 
> It's probably more readable :)
> 
> Thomas
> 

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF



More information about the buildroot mailing list