diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2018-09-27 22:45:03 +0100 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2018-09-27 23:26:32 +0100 |
commit | 03138227aa0985a708bbb9ecf331baf06f75d5df (patch) | |
tree | 80dd46605ebcde3ecd4a12a4dfbd7741e64b55e8 /eclass/toolchain-funcs.eclass | |
parent | www-client/firefox: add missing "die" in src_install (diff) | |
download | gentoo-03138227aa0985a708bbb9ecf331baf06f75d5df.tar.gz gentoo-03138227aa0985a708bbb9ecf331baf06f75d5df.tar.bz2 gentoo-03138227aa0985a708bbb9ecf331baf06f75d5df.zip |
toolchain-funcs.eclass: softfloat detection, bug #666896
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>
Diffstat (limited to 'eclass/toolchain-funcs.eclass')
-rw-r--r-- | eclass/toolchain-funcs.eclass | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass index 3fa32820151c..12ed132c48f1 100644 --- a/eclass/toolchain-funcs.eclass +++ b/eclass/toolchain-funcs.eclass @@ -231,6 +231,10 @@ tc-detect-is-softfloat() { [[ $(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. @@ -269,6 +273,9 @@ tc-tuple-is-softfloat() { echo "softfp" ;; arm*-hardfloat-*|arm*eabihf) echo "no" ;; + # bare-metal targets have their defaults. bug #666896 + *-newlib|*-elf|*-eabi) + echo "no" ;; arm*) echo "yes" ;; *) |