commit
921cb9c10de4d237924a61a1c27f914dfb479a64
"toolchain-funcs.eclass: Update tc-is-softfloat for new ARM tuples"
changed autodetection of mst 'arm*' targets from from 'no'
to 'yes'.
It is incorrect at least for bare-metal targets that tend
to pass their taget defaults.
Bug #666896 is one example example command:
# crossdev -s1 \
--env 'EXTRA_ECONF="--with-multilib-list=rmprofile"' \
arm-none-eabi
rmprofile one of special cases for gcc as it explicitky does
not myx with any arch-specific options and --with-float=soft
breaks it:
Error: You cannot use any of --with-arch/cpu/fpu/float/mode
with --with-multilib-list=rmprofile
The immediate fix is to restore initial autodetection for bare-metal
targets.
Reported-by: Eugene Bright
Closes: https://bugs.gentoo.org/666896
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
[[ $(tc-getTARGET_CPP) == "gcc -E" ]] && return 1
case ${CTARGET:-${CHOST}} in
+ # Avoid autodetection for bare-metal targets. bug #666896
+ *-newlib|*-elf|*-eabi)
+ return 1 ;;
+
# arm-unknown-linux-gnueabi is ambiguous. We used to treat it as
# hardfloat but we now treat it as softfloat like most everyone
# else. Check existing toolchains to respect existing systems.
echo "softfp" ;;
arm*-hardfloat-*|arm*eabihf)
echo "no" ;;
+ # bare-metal targets have their defaults. bug #666896
+ *-newlib|*-elf|*-eabi)
+ echo "no" ;;
arm*)
echo "yes" ;;
*)