From mboxrd@z Thu Jan 1 00:00:00 1970 From: zsugabubus Date: Wed, 22 Apr 2020 00:53:59 +0000 Subject: [PATCH] ia64: fix word quoting in shell scripts Message-Id: <20200422005359.c6vh2jblrevznjml@localhost> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Cc: Tony Luck , Fenghua Yu , linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org Previous implementation did not quote some variables that could be potentially empty, for example due to a failed compilation. It made test(1) failing but desired error action was not taken. Cleaning of temporary files is also been made a bit more robust. --- arch/ia64/scripts/check-gas | 25 ++++++++-------- arch/ia64/scripts/toolchain-flags | 50 ++++++++++++++----------------- 2 files changed, 36 insertions(+), 39 deletions(-) diff --git a/arch/ia64/scripts/check-gas b/arch/ia64/scripts/check-gas index 787cf9b6b..7210522e6 100755 --- a/arch/ia64/scripts/check-gas +++ b/arch/ia64/scripts/check-gas @@ -1,16 +1,17 @@ #!/bin/sh # SPDX-License-Identifier: GPL-2.0 -dir=$(dirname $0) CC=$1 OBJDUMP=$2 -tmp=${TMPDIR:-/tmp} -out=$tmp/out$$.o -$CC -c $dir/check-gas-asm.S -o $out -res=$($OBJDUMP -r --section .data $out | fgrep 00004 | tr -s ' ' |cut -f3 -d' ') -rm -f $out -if [ $res != ".text" ]; then - echo buggy -else - echo good -fi -exit 0 + +cd "$(dirname $0)" + +tmp=${TMPDIR:-/tmp}/check-gas-$$.o +trap 'rm -f "$tmp"' INT TERM EXIT + +$CC -c check-gas-asm.S -o "$tmp" && +$OBJDUMP -r --section .data "$tmp" \ +| fgrep 00004 | tr -s ' ' | cut -f3 -d' ' \ +| { + read -r section + [ "$section" = .text ] && echo good +} || echo buggy diff --git a/arch/ia64/scripts/toolchain-flags b/arch/ia64/scripts/toolchain-flags index 12dff5c98..4bfa4d6d6 100755 --- a/arch/ia64/scripts/toolchain-flags +++ b/arch/ia64/scripts/toolchain-flags @@ -7,48 +7,44 @@ CPPFLAGS="" CC=$1 OBJDUMP=$2 READELF=$3 -dir=$(dirname $0) -tmp=${TMPDIR:-/tmp} -out=$tmp/out$$ + +cd "$(dirname $0)" + +tmp=${TMPDIR:-/tmp}/toolchain-flags-$$ +trap 'rm -f "$tmp"' INT TERM EXIT # Check whether cross-segment segment-relative relocs work fine. We need # that for building the gate DSO: - -$CC -nostdlib -static -Wl,-T$dir/check-segrel.lds $dir/check-segrel.S -o $out -res=$($OBJDUMP --full --section .rodata $out | fgrep 000 | cut -f3 -d' ') -rm -f $out -if [ $res != 00000a00 ]; then - CPPFLAGS="$CPPFLAGS -DHAVE_BUGGY_SEGREL" - cat >&2 <&2 <&1 | grep __model__ | grep -q attrib +if ! $CC -c check-model.c -o "$tmp" 2>&1 | grep __model__ | grep -q attrib then - CPPFLAGS="$CPPFLAGS -DHAVE_MODEL_SMALL_ATTRIBUTE" + CPPFLAGS="$CPPFLAGS -DHAVE_MODEL_SMALL_ATTRIBUTE" fi -rm -f $out # Check whether assembler supports .serialize.{data,instruction} directive. - -$CC -c $dir/check-serialize.S -o $out 2>/dev/null -res=$? -rm -f $out -if [ $res -eq 0 ]; then - CPPFLAGS="$CPPFLAGS -DHAVE_SERIALIZE_DIRECTIVE" +if $CC -c check-serialize.S -o "$tmp" 2>/dev/null +then + CPPFLAGS="$CPPFLAGS -DHAVE_SERIALIZE_DIRECTIVE" fi echo $CPPFLAGS -- 2.26.1