On Wed, Sep 06, 2023 at 07:43:26AM +0100, Richard Sandiford wrote:
> Yang Yujie <yangyu...@loongson.cn> writes:
> > @@ -5171,25 +5213,21 @@ case "${target}" in
> >             # ${with_multilib_list} should not contain whitespaces,
> >             # consecutive commas or slashes.
> >             if echo "${with_multilib_list}" \
> > -           | grep -E -e "[[:space:]]" -e '[,/][,/]' -e '[,/]$' -e '^[,/]' 
> > > /dev/null; then
> > +           | grep -E -e "[[:space:]]" -e '[,/][,/]' -e '[,/]$' -e '^[,/]' 
> > > /dev/null 2>&1; then
> >                     echo "Invalid argument to --with-multilib-list." 1>&2
> >                     exit 1
> >             fi
> >  
> > -           unset component idx elem_abi_base elem_abi_ext elem_tmp
> > +           unset component elem_abi_base elem_abi_ext elem_tmp parse_state 
> > all_abis
> >             for elem in $(echo "${with_multilib_list}" | tr ',' ' '); do
> > -                   idx=0
> > -                   while true; do
> > -                           idx=$((idx + 1))
> > -                           component=$(echo "${elem}" | awk -F'/' '{print 
> > $'"${idx}"'}')
> > -
> > -                           case ${idx} in
> > -                           1)
> > -                                   # Component 1: Base ABI type
> > +                   unset elem_abi_base elem_abi_ext
> > +                   parse_state="abi-base"
> > +
> > +                   for component in $(echo "${elem}" | tr '/' ' '); do
> > +                           if test x${parse_state} = x"abi-base"; then
> > +                                   # Base ABI type
> >                                     case ${component} in
> > -                                   lp64d) elem_tmp="ABI_BASE_LP64D,";;
> > -                                   lp64f) elem_tmp="ABI_BASE_LP64F,";;
> > -                                   lp64s) elem_tmp="ABI_BASE_LP64S,";;
> > +                                   lp64d | lp64f | lp64s) 
> > elem_tmp="ABI_BASE_$(tr a-z A-Z <<< ${component}),";;
> 
> "<<<" isn't portable shell.  Could you try with:
> 
>   echo ${component} | tr ...
> 
> instead?
> 
> As it stands, this causes a bootstrap failure with non-bash shells
> such as dash, even on non-Loongson targets.
> 
> (Part of me wishes that we'd just standardise on bash.  But since that
> isn't the policy, I sometimes use dash to pick up my own lapses.)
> 
> Thanks,
> Richard

Sorry, I missed it when cleaning up the patches. :(
Thanks for the review.  Will fix this in a new patch.

Yujie

Reply via email to