From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) by sourceware.org (Postfix) with ESMTPS id 3A2D73858C83 for ; Wed, 28 Sep 2022 13:31:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3A2D73858C83 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pl1-x631.google.com with SMTP id jm5so11745120plb.13 for ; Wed, 28 Sep 2022 06:31:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:to:from:date:from:to:cc:subject:date; bh=7Ny34FXAKSECQLyz5kXME13p2iD+HfGHHcipci+Ob8s=; b=fa7a1wll4clUYXfH6Zj0QReCcScAbeTS57MV+bC+pBxu4eZce0d2CPd44za0Hbh9v9 /76xLGVSG3xmSA7jffQGE/8olhCP4+by0Hw9DbGM8JQlbsuVAtSLojw95W1ahRllnAdr XkUY/YUZ8nr/V7aoBHERxJKu4Ew/ys5QIKOAm1M9z509lOmHAyQpSCaEuRCLia7Mog3O oshpqGIg/kVtdZbxaPHM1RQCQ1QBCgSpTtdsGaZYR1a7M7fbhr8D1Hf0iiCzK2fnRHas lTxuNv7Dp15fJfbTsnfM8yyH9fPkHRvSdNF+mrz9KHFlabhnsRub2dz1im8fVlXZ4Qmq gYSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:to:from:date:x-gm-message-state:from:to:cc:subject:date; bh=7Ny34FXAKSECQLyz5kXME13p2iD+HfGHHcipci+Ob8s=; b=np30WxLzPAYmcFtUIB6RJFf0D/QQbMeKqV436JVw1mJNpVj1mLwMz7ANjDInnlmA6E q70RlAMEJ07UX13jYnwGI1tXupXsqW1ywh2bCWHgVR9cTFYCzZ+wN0yX6xP32bWtjKUa Oah/gGXs60FDq8qKNv10zBNpLxw13oY+RNWBnyENupPwXh1y0R0lTH+elD5/MfH4hjmH Y8RP3qnahfbK1aO2UyyEdln0V+YM9dUkA8VyD8Y4p9oZadst9wwo36+UUylgGVtg9pjJ zK3rO4oF+ptiE1+kK13mOIKaoo6In2NdUv2zD/xhKZ7sBoeIaFSlYRfbTdK9lPbtPL0x kfKA== X-Gm-Message-State: ACrzQf3L0xUfulkJhJ9dVw5jJWAv9ghj0hbOtKyNMz/n8KgceVdvVNgE ZKzVlEXQcBKgJ/KDvLa78cBUZ02kTqE= X-Google-Smtp-Source: AMsMyM5WZK2IDixucZ7UYzxGnSE26M0h2e9uRMyplFLzah/P5oZBQQajpy8ebvTnR+zYOQ3QS8qACg== X-Received: by 2002:a17:90b:1e0d:b0:202:91ec:e167 with SMTP id pg13-20020a17090b1e0d00b0020291ece167mr10414470pjb.174.1664371897722; Wed, 28 Sep 2022 06:31:37 -0700 (PDT) Received: from squeak.grove.modra.org (158.106.96.58.static.exetel.com.au. [58.96.106.158]) by smtp.gmail.com with ESMTPSA id oa15-20020a17090b1bcf00b00205db4ff6dfsm1475602pjb.46.2022.09.28.06.31.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Sep 2022 06:31:37 -0700 (PDT) Received: by squeak.grove.modra.org (Postfix, from userid 1000) id 6BA6711403A7; Wed, 28 Sep 2022 23:01:34 +0930 (ACST) Date: Wed, 28 Sep 2022 23:01:34 +0930 From: Alan Modra To: binutils@sourceware.org Subject: Re: egrep in binutils Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-3036.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Wed, Sep 28, 2022 at 02:04:43PM +0930, Alan Modra wrote: > --- a/ld/testsuite/ld-elfvers/vers.exp > +++ b/ld/testsuite/ld-elfvers/vers.exp > @@ -109,7 +109,9 @@ proc test_ar { test lib object expect } { > return > } > > - set cmd "$nm --print-armap $tmpdir/$lib | grep \\\ in\\\ | egrep VERS\\\|bar\\\|foo | grep -v ^\\\\. | sort > $tmpdir/nm.out" > + set cmd "$nm --print-armap $tmpdir/$lib | grep \" in \" | grep \"VERS > +bar > +foo\" | grep -v ^\\\\. | sort > $tmpdir/nm.out" > verbose -log $cmd > catch "exec $cmd" exec_output > if [string match "" $exec_output] then { I've just been looking at autoconf documentation for pitfalls with grep, and the above multi-line pattern is said to "fail with traditional grep implementations and with OpenBSD 3.8 grep". binutils/ * embedspu.sh: Replace multi-line grep with sed. ld/ * testsuite/ld-elfvers/vers.exp: Replace multi-line grep with sed. diff --git a/binutils/embedspu.sh b/binutils/embedspu.sh index 361206f7d88..d72773946c2 100644 --- a/binutils/embedspu.sh +++ b/binutils/embedspu.sh @@ -108,11 +108,7 @@ main () READELF="$prog" # Sanity check the input file - match="Class:.*ELF32 -Type:.*EXEC -Machine:.*SPU -Machine:.*17" - if test `${READELF} -h ${INFILE} | grep "${match}" | wc -l` != 3 + if test `${READELF} -h ${INFILE} | sed -n -e '/Class:.*ELF32/p' -e '/Type:.*EXEC/p' -e '/Machine:.*SPU/p' -e '/Machine:.*17/p' | sed -n '$='` != 3 then echo "${INFILE}: Does not appear to be an SPU executable" exit 1 diff --git a/ld/testsuite/ld-elfvers/vers.exp b/ld/testsuite/ld-elfvers/vers.exp index 9af6bb9fd92..3e2ba2aac07 100644 --- a/ld/testsuite/ld-elfvers/vers.exp +++ b/ld/testsuite/ld-elfvers/vers.exp @@ -109,9 +109,7 @@ proc test_ar { test lib object expect } { return } - set cmd "$nm --print-armap $tmpdir/$lib | grep \" in \" | grep \"VERS -bar -foo\" | grep -v ^\\\\. | sort > $tmpdir/nm.out" + set cmd "$nm --print-armap $tmpdir/$lib | sed -n -e /^\\\\./d -e \"/^VERS.* in /p\" -e \"/bar.* in /p\" -e \"/foo.* in /p\" | sort > $tmpdir/nm.out" verbose -log $cmd catch "exec $cmd" exec_output if [string match "" $exec_output] then { -- Alan Modra Australia Development Lab, IBM