[Buildroot] [PATCH] arch/arm: VFP and Thumb1 are not compatible

Arnout Vandecappelle arnout at mind.be
Tue Nov 3 21:45:15 UTC 2015


On 03-11-15 00:34, Yann E. MORIN wrote:
> gcc will refuse to build with both --with-mode=thumb and --with-fpu=vfp,
> with error messages during ./configure, like:
> 
>     checking for suffix of object files... configure: error: in `/home/ymor
>     in/dev/buildroot/O/build/host-gcc-initial-4.9.3/build/arm-buildroot-lin
>     ux-uclibcgnueabihf/libgcc':
>     configure: error: cannot compute suffix of object files: cannot compile
>     See `config.log' for more details.
> 
> And config.log informatively contains:
> 
>     sorry, unimplemented: Thumb-1 hard-float VFP ABI
> 
> This is an error message that comes deep from gcc source files.
> 
> If gcc says it does not support VFP with Thumb1, then let's disable that
> combination in our menuconfig.
> 
> Prefer VFP over Thumb1, i.e. hide Thumb1 when we're not soft-float.
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> Cc: Gustavo Zacarias <gustavo at zacarias.com.ar>
> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>

Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>

 Regards,
 Arnout

> ---
>  arch/Config.in.arm | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/arch/Config.in.arm b/arch/Config.in.arm
> index db7b8f2..67ff384 100644
> --- a/arch/Config.in.arm
> +++ b/arch/Config.in.arm
> @@ -377,12 +377,18 @@ config BR2_ARM_INSTRUCTIONS_ARM
>  config BR2_ARM_INSTRUCTIONS_THUMB
>  	bool "Thumb"
>  	depends on BR2_ARM_CPU_HAS_THUMB
> +	# Thumb-1 and VFP are not compatible
> +	depends on BR2_ARM_SOFT_FLOAT
>  	help
>  	  This option instructions the compiler to generate Thumb
>  	  instructions, which allows to mix 16 bits instructions and
>  	  32 bits instructions. This generally provides a much smaller
>  	  compiled binary size.
>  
> +comment "Thumb1 is not compatible with VFP"
> +	depends on BR2_ARM_CPU_HAS_THUMB
> +	depends on !BR2_ARM_SOFT_FLOAT
> +
>  config BR2_ARM_INSTRUCTIONS_THUMB2
>  	bool "Thumb2"
>  	depends on BR2_ARM_CPU_HAS_THUMB2
> 


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