From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2140) id D8A5638555AE; Thu, 27 Apr 2023 12:00:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D8A5638555AE DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1682596827; bh=mlksClPNNa+2vtucAYHrdbjymOoF7XHPuA2PFcvPaR0=; h=From:To:Subject:Date:From; b=JaSnEjJcDLVm4HEnkh3Qv8LhwcPlOE3OQGorZMVVJU1txSsmefjycKYqrZIg0XEeT 5byfHWkKqAhDmgQIC4hTG3Tk5L/u4z9bhMunyc7YZugdiZVUvHdw9Bjakl2mjTG2xE SRHGOw+CEUnhPXq+YW0PM6DLHxmmrGSH1v1hXh4w= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Alexandre Oliva To: gcc-cvs@gcc.gnu.org Subject: [gcc r14-299] Use CONFIG_SHELL-/bin/sh in genmultilib X-Act-Checkin: gcc X-Git-Author: Alexandre Oliva X-Git-Refname: refs/heads/master X-Git-Oldrev: 2b8ac1df6493eb1789c7c4d9f3df280ef9cf0ac4 X-Git-Newrev: b5f04a4db59f61f416f23801902cbf4d0f50dc15 Message-Id: <20230427120027.D8A5638555AE@sourceware.org> Date: Thu, 27 Apr 2023 12:00:27 +0000 (GMT) List-Id: https://gcc.gnu.org/g:b5f04a4db59f61f416f23801902cbf4d0f50dc15 commit r14-299-gb5f04a4db59f61f416f23801902cbf4d0f50dc15 Author: Alexandre Oliva Date: Thu Apr 27 09:00:14 2023 -0300 Use CONFIG_SHELL-/bin/sh in genmultilib There are still shells on some systems that lack the ability to start scripts when not using the shell name explicitly. Adjust genmultilib to use ${CONFIG_SHELL-/bin/sh} the same way configure does. for gcc/ChangeLog * genmultilib: Use CONFIG_SHELL to run sub-scripts. Diff: --- gcc/genmultilib | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/gcc/genmultilib b/gcc/genmultilib index f8bd90b116c..6683c349026 100644 --- a/gcc/genmultilib +++ b/gcc/genmultilib @@ -170,23 +170,23 @@ if [ "$#" != "0" ]; then all=${initial}`echo $first | sed -e 's_|_/_'g` first=`echo $first | sed -e 's_|_ _'g` echo ${all}/ - initial="${initial}${all}/" ./tmpmultilib $@ - ./tmpmultilib $first $@ | grep -v "^${all}" + initial="${initial}${all}/" ${CONFIG_SHELL-/bin/sh} ./tmpmultilib $@ + ${CONFIG_SHELL-/bin/sh} ./tmpmultilib $first $@ | grep -v "^${all}" ;; *) for opt in `echo $first | sed -e 's|/| |'g`; do echo ${initial}${opt}/ done - ./tmpmultilib $@ + ${CONFIG_SHELL-/bin/sh} ./tmpmultilib $@ for opt in `echo $first | sed -e 's|/| |'g`; do - initial="${initial}${opt}/" ./tmpmultilib $@ + initial="${initial}${opt}/" ${CONFIG_SHELL-/bin/sh} ./tmpmultilib $@ done esac fi EOF chmod +x tmpmultilib -combinations=`initial=/ ./tmpmultilib ${options}` +combinations=`initial=/ ${CONFIG_SHELL-/bin/sh} ./tmpmultilib ${options}` # If there exceptions, weed them out now if [ -n "${exceptions}" ]; then @@ -210,7 +210,7 @@ cat >>tmpmultilib2 <<\EOF done EOF chmod +x tmpmultilib2 - combinations=`./tmpmultilib2 ${combinations}` + combinations=`${CONFIG_SHELL-/bin/sh} ./tmpmultilib2 ${combinations}` fi # If the MULTILIB_REQUIRED list are provided, @@ -236,7 +236,7 @@ cat >>tmpmultilib2 <<\EOF EOF chmod +x tmpmultilib2 - combinations=`./tmpmultilib2 ${combinations}` + combinations=`${CONFIG_SHELL-/bin/sh} ./tmpmultilib2 ${combinations}` fi @@ -348,12 +348,12 @@ if [ "$#" = "0" ]; then else first=$1 shift - dirout="${dirout}" optout="${optout}" ./tmpmultilib2 $@ + dirout="${dirout}" optout="${optout}" ${CONFIG_SHELL-/bin/sh} ./tmpmultilib2 $@ l=`echo ${first} | sed -e 's/=.*$//' -e 's/?/=/g'` r=`echo ${first} | sed -e 's/^.*=//' -e 's/?/=/g'` if expr " ${optout} " : ".* ${l} .*" > /dev/null; then newopt=`echo " ${optout} " | sed -e "s/ ${l} / ${r} /" -e 's/^ //' -e 's/ $//'` - dirout="${dirout}" optout="${newopt}" ./tmpmultilib2 $@ + dirout="${dirout}" optout="${newopt}" ${CONFIG_SHELL-/bin/sh} ./tmpmultilib2 $@ fi fi EOF @@ -453,14 +453,14 @@ chmod +x tmpmultilib4 # correct list of options and negations. for combo in ${combinations}; do # Use the directory names rather than the option names. - dirout=`./tmpmultilib3 "${combo}" "${todirnames}" "${toosdirnames}" "${enable_multilib}"` + dirout=`${CONFIG_SHELL-/bin/sh} ./tmpmultilib3 "${combo}" "${todirnames}" "${toosdirnames}" "${enable_multilib}"` # Look through the options. We must output each option that is # present, and negate each option that is not present. - optout=`./tmpmultilib4 "${combo}" "${options}"` + optout=`${CONFIG_SHELL-/bin/sh} ./tmpmultilib4 "${combo}" "${options}"` # Output the line with all appropriate matches. - dirout="${dirout}" optout="${optout}" ./tmpmultilib2 + dirout="${dirout}" optout="${optout}" ${CONFIG_SHELL-/bin/sh} ./tmpmultilib2 done # Terminate the list of string. @@ -491,11 +491,11 @@ for rrule in ${multilib_reuse}; do if expr "${combinations} " : ".*/${combo}/.*" > /dev/null; then if echo "/${copts}/" | grep -E "${options_re}" > /dev/null; then combo="/${combo}/" - dirout=`./tmpmultilib3 "${combo}" "${todirnames}" "${toosdirnames}" "${enable_multilib}"` + dirout=`${CONFIG_SHELL-/bin/sh} ./tmpmultilib3 "${combo}" "${todirnames}" "${toosdirnames}" "${enable_multilib}"` copts="/${copts}/" - optout=`./tmpmultilib4 "${copts}" "${options}"` + optout=`${CONFIG_SHELL-/bin/sh} ./tmpmultilib4 "${copts}" "${options}"` # Output the line with all appropriate matches. - dirout="${dirout}" optout="${optout}" ./tmpmultilib2 + dirout="${dirout}" optout="${optout}" ${CONFIG_SHELL-/bin/sh} ./tmpmultilib2 else echo "The rule ${rrule} contains an option absent from MULTILIB_OPTIONS." >&2 exit 1