On Wed, 25 Jul 2018 07:03:46 +0200
Michał Górny <mgo...@gentoo.org> 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

Reply via email to