arch/arm: VFP and Thumb1 are not compatible
PATCH 1/1 arch/arm: VFP and Thumb1 are not compatible
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.
--- arch/Config.in.arm | 6 ++++++ 1 file changed, 6 insertions(+)
arch/Config.in.arm +6 -0
@@ -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
Signature · 1 line
1.9.1
PATCH 1/1 arch/arm: VFP and Thumb1 are not compatible
Quoted 15 lines · Yann E. MORIN
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.
Quoted 8 lines
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" <[email protected]>Cc Gustavo Zacarias <[email protected]>Cc Thomas Petazzoni <[email protected]>
Regards,
Arnout
Quoted 28 lines
--- arch/Config.in.arm | 6 ++++++ 1 file changed, 6 insertions(+)arch/Config.in.arm +6
-0@@ -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
Signature · 6 lines
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
Thomas Petazzoni
AppliedPATCH 1/1 arch/arm: VFP and Thumb1 are not compatible
In reply to Yann E. MORINDear Yann E. MORIN,
Quoted 18 lines · Yann E. MORIN
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.
Quoted 8 lines
Prefer VFP over Thumb1, i.e. hide Thumb1 when we're not soft-float.
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Gustavo Zacarias <[email protected]>Cc Thomas Petazzoni <[email protected]>--- arch/Config.in.arm | 6 ++++++ 1 file changed, 6 insertions(+)
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com