Skip to content

Commit 825d0fa

Browse files
committed
kconfig: Make CONIG_FP_SOFTABI generate floating point instructions
This re-applies a patch that was merged in pr zephyrproject-rtos#6989, but then accidentally reverted in a bad merge conflict resolution in pr zephyrproject-rtos#6842. The actual behaviour of CONIG_FP_SOFTABI has not been matching the documenation. The Kconfig documentation states that floating point instructions should be generated, but this Kconfig option has been turning off floating point instructions instead. This commit causes floating point instructions to be generated when CONFIG_FP_SOFTABI is enabled, as was originally intended and documented. This commit can cause regressions if users have been relying on the actual behaviour instead of the documented behaviour. Kconfig documentation: config FP_SOFTABI help This option selects the Floating point ABI in which hardware floating point instructions are generated but soft-float calling conventions. GCC documentation: Specifying ‘soft’ causes GCC to generate output containing library calls for floating-point operations. ‘softfp’ allows the generation of code using hardware floating-point instructions, but still uses the soft-float calling conventions. ‘hard’ allows generation of floating-point instructions and uses FPU-specific calling conventions. Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
1 parent 323243d commit 825d0fa

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

cmake/compiler/gcc.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ else()
9393
if(CONFIG_FLOAT)
9494
list(APPEND TOOLCHAIN_C_FLAGS -mfpu=${FPU_FOR_${GCC_M_CPU}})
9595
if (CONFIG_FP_SOFTABI)
96-
list(APPEND TOOLCHAIN_C_FLAGS -mfloat-abi=soft)
96+
list(APPEND TOOLCHAIN_C_FLAGS -mfloat-abi=softfp)
9797
elseif(CONFIG_FP_HARDABI)
9898
list(APPEND TOOLCHAIN_C_FLAGS -mfloat-abi=hard)
9999
endif()

0 commit comments

Comments
 (0)