On Wed, 25 Jul 2018 07:03:46 +0200
Michał Górny <[email protected]> wrote:
> > diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
> > index cea8949b45d7..f484fffc2664 100644
> > --- a/eclass/toolchain-funcs.eclass
> > +++ b/eclass/toolchain-funcs.eclass
> > @@ -204,13 +204,38 @@ tc-is-softfloat() {
> > bfin*|h8300*)
> > echo "only" ;;
> > *)
> > - if [[ ${CTARGET//_/-} == *-softfloat-* ]] ; then
> > - echo "yes"
> > - elif [[ ${CTARGET//_/-} == *-softfp-* ]] ; then
> > - echo "softfp"
> > - else
> > - echo "no"
> > - fi
> > + case ${CTARGET//_/-} in
> > + *-softfloat-*)
> > + echo "yes" ;;
> > + *-softfp-*)
> > + echo "softfp" ;;
> > + arm*)
> > + # arm-unknown-linux-gnueabi is
> > ambiguous. We used to
> > + # treat it as hardfloat but we now
> > treat it as
> > + # softfloat like most everyone else.
> > However, we
> > + # check existing toolchains to avoid
> > breaking
> > + # existing systems, if possible.
> > + if type -P ${CTARGET}-cpp >/dev/null;
> > then
> > + if ${CTARGET}-cpp -E - <<<
> > __ARM_PCS_VFP 2>/dev/null | grep -q __ARM_PCS_VFP; then
> > + # Confusingly
> > __SOFTFP__ is defined only
> > + # when -mfloat-abi is
> > soft, not softfp.
> > + if ${CTARGET}-cpp -E -
> > <<< __SOFTFP__ 2>/dev/null | grep -q __SOFTFP__; then
> > +
> > echo "softfp"
>
> Either the comment is confusing or you did it the other way around.
It is correct but also confusing for two different reasons and I only
explained one of them. :) If grep finds the given string, that means it
is *not* defined because otherwise it would be replaced with "1". I'll
add an explanation for that too.
--
James Le Cuirot (chewi)
Gentoo Linux Developer