W dniu śro, 25.07.2018 o godzinie 00∶09 +0100, użytkownik James Le
Cuirot napisał:
> The triplet will change from armv7a-hardfloat-linux-gnueabi to
> armv7a-unknown-linux-gnueabihf or similar. The function already
> treated the latter as hardfloat but ambiguous triplets such as
> arm-unknown-linux-gnueabi will change from hardfloat to softfloat in
> line with most everyone else. However, we will now check existing
> toolchains to avoid breaking existing systems, if possible.
> ---
>  eclass/toolchain-funcs.eclass | 39 ++++++++++++++++++++++++++++-------
>  1 file changed, 32 insertions(+), 7 deletions(-)
> 
> 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.

> +                                                     else
> +                                                             echo "yes"
> +                                                     fi
> +                                             else
> +                                                     echo "no"
> +                                             fi
> +                                     elif [[ ${CTARGET} == *-hardfloat-* || 
> ${CTARGET} == *hf ]]; then
> +                                             echo "no"
> +                                     else
> +                                             echo "yes"
> +                                     fi
> +                                     ;;
> +                             *)
> +                                     echo "no" ;;
> +                     esac
>                       ;;
>       esac
>  }

-- 
Best regards,
Michał Górny

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to