[Buildroot] [PATCH 2/8] arch: Refactor BR2_SOFT_FLOAT into per-architecture options

Peter Korsgaard jacmet at uclibc.org
Sun Jul 7 20:24:05 UTC 2013


>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni at free-electrons.com> writes:

 Thomas> As we are going to introduced a more advanced support of floating
 Thomas> point options for the ARM architecture, we need to adjust how the
 Thomas> soft-float option is handled. We replace the current hidden option
 Thomas> BR2_PREFER_SOFT_FLOAT option and the visible BR2_SOFT_FLOAT option by:

 Thomas>  * A global hidden BR2_SOFT_FLOAT option, defined in arch/Config.in,
 Thomas>    that tells whether the architecture-specific code is using software
 Thomas>    emulated floating point. This hidden option can be used throughout
 Thomas>    Buildroot to determine whether soft float is used or not.

 Thomas>  * Per-architecture visible BR2_<arch>_SOFT_FLOAT options, for the
 Thomas>    architecture for which it makes sense, which allows users to select
 Thomas>    soft float emulation when needed.

 Thomas> This change will allow each architecture to have a different way of
 Thomas> presenting its floating point capabilities.

 Thomas> diff --git a/arch/Config.in.avr32 b/arch/Config.in.avr32
 Thomas> index ebf8454..34055d9 100644
 Thomas> --- a/arch/Config.in.avr32
 Thomas> +++ b/arch/Config.in.avr32
 Thomas> @@ -3,3 +3,13 @@ config BR2_ARCH
 
 Thomas>  config BR2_ENDIAN
 Thomas>         default "BIG"
 Thomas> +
 Thomas> +config BR2_AVR32_SOFT_FLOAT
 Thomas> +	bool "Use soft-float"
 Thomas> +	default y
 Thomas> +	select BR2_SOFT_FLOAT
 Thomas> +	help
 Thomas> +	  If your target CPU does not have a Floating Point Unit (FPU)
 Thomas> +	  or a kernel FPU emulator, but you still wish to support
 Thomas> +	  floating point functions, then everything will need to be
 Thomas> +	  compiled with soft floating point support (-msoft-float).

Does avr32 SoCs with hard float even exist? Does
uClibc/kernel/.. support it? If not, we could just make this a hidden
option.
 
 Thomas> +config BR2_POWERPC_SOFT_FLOAT
 Thomas> +	bool "Use soft-float"
 Thomas> +	default y
 Thomas> +	select BR2_SOFT_FLOAT
 Thomas> +	help
 Thomas> +	  If your target CPU does not have a Floating Point Unit (FPU)
 Thomas> +	  or a kernel FPU emulator, but you still wish to support
 Thomas> +	  floating point functions, then everything will need to be
 Thomas> +	  compiled with soft floating point support (-msoft-float).

We didn't use to default to soft float for powerpc, as most cores have a
FPU.
 
 Thomas> -config BR2_PREFER_SOFT_FLOAT
 Thomas> -	bool
 Thomas> -	default y if BR2_arm
 Thomas> -	default y if BR2_armeb
 Thomas> -	default y if BR2_avr32
 Thomas> -	default y if BR2_mips
 Thomas> -	default y if BR2_mipsel

-- 
Bye, Peter Korsgaard


More information about the buildroot mailing list