mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-01-18 02:39:46 +00:00
arch/arm: add option to use *eabihf tuples
Toolchains that use the hard-float ABI now are to be denoted by a tuple ending in *eabihf, while the prevbious *eabi is now an indication that the toolchain uses the softfloat ABI. This is purely a cosmetic thing, for distros to differentiate their hardfloat-ABI ports from their softfloat-ABI ports. (note: softfloat ABI does not mean that it is using softfloats; it can be using hardfloat instructions, but using the softfloat ABI). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
This commit is contained in:
parent
6f1ab57e80
commit
c1d673203d
@ -46,6 +46,37 @@ config ARCH_ARM_EABI
|
|||||||
help
|
help
|
||||||
Set up the toolchain so that it generates EABI-compliant binaries.
|
Set up the toolchain so that it generates EABI-compliant binaries.
|
||||||
|
|
||||||
|
config ARCH_ARM_TUPLE_USE_EABIHF
|
||||||
|
bool
|
||||||
|
prompt "append 'hf' to the tuple (EXPERIMENTAL)"
|
||||||
|
depends on ARCH_FLOAT_HW
|
||||||
|
depends on ARCH_ARM_EABI # Until we only support that...
|
||||||
|
depends on EXPERIMENTAL
|
||||||
|
help
|
||||||
|
Is you say 'y' here, then the tuple for the toolchain will end
|
||||||
|
up with *eabihf, instead of the usual *eabi.
|
||||||
|
|
||||||
|
*eabihf is used to denote that the toolchain *is* using the
|
||||||
|
hard-float ABI, while *eabi is just an indication of using the
|
||||||
|
soft-float ABI.
|
||||||
|
|
||||||
|
Ie. all one can say is: *eabihf ⊢ hard-float ABI
|
||||||
|
|
||||||
|
Saying 'n' here does *not* impact the ability of the toolchain to
|
||||||
|
generate hard-float instructions with the hard-float ABI. It is a
|
||||||
|
purely cosmetic thing, used by distros to differentiate their
|
||||||
|
hard-float-ABI-using ports from their soft-float-ABI-using ports.
|
||||||
|
(eg. Debian Wheezy and above).
|
||||||
|
|
||||||
|
This is an option, as not all versions of gcc/binutils do support
|
||||||
|
such tuple, and fail to build with *eabihf. Stock gcc version up
|
||||||
|
to, and including 4.7.2 have an issue or another with *eabihf.
|
||||||
|
|
||||||
|
This option is here for the future.
|
||||||
|
|
||||||
|
Say 'n', unless you are trying to fix gcc to properly recognise
|
||||||
|
the *eabihf tuples.
|
||||||
|
|
||||||
config ARCH_ARM_ABI_OK
|
config ARCH_ARM_ABI_OK
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
@ -24,4 +24,8 @@ CT_DoArchTupleValues() {
|
|||||||
if [ "${CT_ARCH_ARM_INTERWORKING}" = "y" ]; then
|
if [ "${CT_ARCH_ARM_INTERWORKING}" = "y" ]; then
|
||||||
CT_ARCH_TARGET_CFLAGS+=" -mthumb-interwork"
|
CT_ARCH_TARGET_CFLAGS+=" -mthumb-interwork"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "${CT_ARCH_ARM_TUPLE_USE_EABIHF}" = "y" ]; then
|
||||||
|
CT_TARGET_SYS="${CT_TARGET_SYS}hf"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user