From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id cMqbOIbqeGL9OwUAWB0awg (envelope-from ) for ; Mon, 09 May 2022 06:18:46 -0400 Received: by simark.ca (Postfix, from userid 112) id E51F01E21F; Mon, 9 May 2022 06:18:46 -0400 (EDT) Authentication-Results: simark.ca; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=J1mCo+Qj; dkim-atps=neutral X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-3.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,NICE_REPLY_A,RDNS_DYNAMIC, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 76C431E00D for ; Mon, 9 May 2022 06:18:46 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CADFF384859B for ; Mon, 9 May 2022 10:18:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CADFF384859B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1652091525; bh=Z+2jdBfyCbDnBicxkHyT7iEyrQMA8CBdpd0tkPRbgVk=; h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=J1mCo+QjG8SgWBdUt2FRzKZk9TfbfRCRo3hBGICHwW/TV6Om2WcHtPNU9wG1iY1a6 y3Snf6m3qVv4Eai2z0DR0+igZ8IP8rZFjwXBcICyMkqTfePZ8HxQzmyIvDRhL5i7Gh i8FIu5V7xa1l+h46LMSMToV2vCSDEdxEpU9kjy94= Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by sourceware.org (Postfix) with ESMTPS id 353F43857419 for ; Mon, 9 May 2022 10:18:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 353F43857419 Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 51ECC21C27; Mon, 9 May 2022 10:18:25 +0000 (UTC) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 36F8C132C0; Mon, 9 May 2022 10:18:25 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id VHvAC3HqeGLkeAAAMHmgww (envelope-from ); Mon, 09 May 2022 10:18:25 +0000 Content-Type: multipart/mixed; boundary="------------YB2Mn2lISJ94KKJTm7yfqlBN" Message-ID: Date: Mon, 9 May 2022 12:18:24 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 Subject: Re: [PATCH, v2][gdb/testsuite] Handle pipe2 syscall in gdb.base/catch-syscall.exp Content-Language: en-US To: Simon Marchi , gdb-patches@sourceware.org References: <20220503145732.GA26729@delia.home> In-Reply-To: X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Tom de Vries via Gdb-patches Reply-To: Tom de Vries Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" This is a multi-part message in MIME format. --------------YB2Mn2lISJ94KKJTm7yfqlBN Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 5/5/22 15:23, Simon Marchi wrote: > On 2022-05-05 07:47, Tom de Vries via Gdb-patches wrote: >> On 5/3/22 16:57, Tom de Vries wrote: >>> Hi, >>> >>> When running test-case gdb.reverse/pipe-reverse.exp on openSUSE Tumbleweed, >>> I run into: >>> ... >>> (gdb) continue^M >>> Continuing.^M >>> ^M >>> Catchpoint 2 (returned from syscall pipe2), in pipe () from /lib64/libc.so.6^M >>> (gdb) FAIL: gdb.base/catch-syscall.exp: without arguments: \ >>>    syscall pipe has returned >>> ... >>> >>> The current glibc on Tumbleweed is 2.35, which contains commit >>> "linux: Implement pipe in terms of __NR_pipe2", and consequently syscall pipe2 >>> is used in stead of syscall pipe. >>> >>> Fix this by detecting whether syscall pipe or pipe2 is used before running the tests. >>> >>> Tested on x86_64-linux, specifically on: >>> - openSUSE Tumbleweed (with glibc 2.35), and >>> - openSUSE Leap 15.3 (with glibc 2.31). >>> >>> Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29056 >>> >>> Any comments? >>> >> >> I'm submitting a v2.  I found out that with target board unix/-m32, pipe2 is not recognized as syscall name (which I'll fix in a follow-up patch), so I made the test robust against this, by using the syscall number instead. >> >> Thanks, >> - Tom >> > > > I don't understand why we would want that fallback to use numbers. If GDB doesn't > know about pipe2 (like it does now), it's a GDB bug that needs to be fixed. I don't > see why we would want to adjust the test instead of fixing GDB. There are two things tested here in conjunction in the test-case: - whether gdb knowns the name of a syscall - whether the syscall can be caught by gdb Currently, if the test for the first part fails, we have no usable information on the second part. I tried to make these things independently testable, with the idea that this makes the test give more information. So, I'm not proposing to fix a test instead of fixing gdb. I'm proposing to fix the test such that I can more precisely link a single FAIL -> PASS to a gdb fix. It could be argued that the second part actually is the interesting part. If gdb doesn't know the name of a syscall, a user can always lookup the number and use that instead. But if there is a problem catching that syscall, the user cannot work around that, so that is good to know about. But ok, perhaps I'm overthinking things here, and it does makes the test-case more complicated, so ... committed this version that only uses the name of the syscall. Thanks, - Tom --------------YB2Mn2lISJ94KKJTm7yfqlBN Content-Type: text/x-patch; charset=UTF-8; name="0001-gdb-testsuite-Handle-pipe2-syscall-in-gdb.base-catch-syscall.exp.patch" Content-Disposition: attachment; filename*0="0001-gdb-testsuite-Handle-pipe2-syscall-in-gdb.base-catch-sy"; filename*1="scall.exp.patch" Content-Transfer-Encoding: base64 W2dkYi90ZXN0c3VpdGVdIEhhbmRsZSBwaXBlMiBzeXNjYWxsIGluIGdkYi5iYXNlL2NhdGNo LXN5c2NhbGwuZXhwCgpXaGVuIHJ1bm5pbmcgdGVzdC1jYXNlIGdkYi5yZXZlcnNlL3BpcGUt cmV2ZXJzZS5leHAgb24gb3BlblNVU0UgVHVtYmxld2VlZCwKSSBydW4gaW50bzoKLi4uCihn ZGIpIGNvbnRpbnVlXk0KQ29udGludWluZy5eTQpeTQpDYXRjaHBvaW50IDIgKHJldHVybmVk IGZyb20gc3lzY2FsbCBwaXBlMiksIGluIHBpcGUgKCkgZnJvbSAvbGliNjQvbGliYy5zby42 Xk0KKGdkYikgRkFJTDogZ2RiLmJhc2UvY2F0Y2gtc3lzY2FsbC5leHA6IHdpdGhvdXQgYXJn dW1lbnRzOiBcCiAgc3lzY2FsbCBwaXBlIGhhcyByZXR1cm5lZAouLi4KClRoZSBjdXJyZW50 IGdsaWJjIG9uIFR1bWJsZXdlZWQgaXMgMi4zNSwgd2hpY2ggY29udGFpbnMgY29tbWl0CiJs aW51eDogSW1wbGVtZW50IHBpcGUgaW4gdGVybXMgb2YgX19OUl9waXBlMiIsIGFuZCBjb25z ZXF1ZW50bHkgc3lzY2FsbCBwaXBlMgppcyB1c2VkIGluc3RlYWQgb2Ygc3lzY2FsbCBwaXBl LgoKRml4IHRoaXMgYnkgZGV0ZWN0aW5nIHdoZXRoZXIgc3lzY2FsbCBwaXBlIG9yIHBpcGUy IGlzIHVzZWQgYmVmb3JlIHJ1bm5pbmcgdGhlCnRlc3RzLgoKVGVzdGVkIG9uIHg4Nl82NC1s aW51eCwgc3BlY2lmaWNhbGx5IG9uOgotIG9wZW5TVVNFIFR1bWJsZXdlZWQgKHdpdGggZ2xp YmMgMi4zNSksIGFuZAotIG9wZW5TVVNFIExlYXAgMTUuMyAod2l0aCBnbGliYyAyLjMxKS4K Ck9uIG9wZW5TVVNFIFR1bWJsZXdlZWQgKyB0YXJnZXQgYm9hcmQgdW5peC8tbTMyLCB0aGlz IGV4cG9zZXM6Ci4uLgooZ2RiKSBjYXRjaCBzeXNjYWxsIHBpcGUyXk0KVW5rbm93biBzeXNj YWxsIG5hbWUgJ3BpcGUyJy5eTQouLi4Kd2hpY2ggd2lsbCBiZSBmaXhlZCBpbiBhIGZvbGxs b3ctdXAgcGF0Y2guCgpCdWc6IGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hv d19idWcuY2dpP2lkPTI5MDU2CgotLS0KIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2F0Y2gt c3lzY2FsbC5jICAgfCAgMyArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jYXRjaC1zeXNj YWxsLmV4cCB8IDY5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiAyIGZpbGVz IGNoYW5nZWQsIDY0IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jYXRjaC1zeXNjYWxsLmMgYi9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2NhdGNoLXN5c2NhbGwuYwppbmRleCAwYWI5NjMxOGQzZS4uOGMyNTJh MDZiMjAgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2F0Y2gtc3lzY2Fs bC5jCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2F0Y2gtc3lzY2FsbC5jCkBAIC0y NCw3ICsyNCw4IEBAIGludCBjaHJvb3Rfc3lzY2FsbCA9IFNZU19jaHJvb3Q7CiBpbnQgcmVh ZF9zeXNjYWxsID0gU1lTX3JlYWQ7CiAjaWZkZWYgU1lTX3BpcGUKIGludCBwaXBlX3N5c2Nh bGwgPSBTWVNfcGlwZTsKLSNlbHNlCisjZW5kaWYKKyNpZmRlZiBTWVNfcGlwZTIKIGludCBw aXBlMl9zeXNjYWxsID0gU1lTX3BpcGUyOwogI2VuZGlmCiBpbnQgd3JpdGVfc3lzY2FsbCA9 IFNZU193cml0ZTsKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2F0Y2gt c3lzY2FsbC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NhdGNoLXN5c2NhbGwuZXhw CmluZGV4IGE1ZGZkMDI0MTFiLi4xNDI3ZGZlY2U2ZCAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9jYXRjaC1zeXNjYWxsLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2NhdGNoLXN5c2NhbGwuZXhwCkBAIC02NjksMzUgKzY2OSw5MCBAQCBwcm9jIGZp bGxfYWxsX3N5c2NhbGxzX251bWJlcnMge30gewogICAgIHNldCB1bmtub3duX3N5c2NhbGxf bnVtYmVyIFtnZXRfaW50ZWdlcl92YWx1ZW9mICJ1bmtub3duX3N5c2NhbGwiIC0xXQogfQog Ci0jIFNldCB1cCB0aGUgdmVjdG9yIGFsbF9zeXNjYWxscy4KKyMgU2V0IHVwIHRoZSB2ZWN0 b3IgYWxsX3N5c2NhbGxzLiAgUmV0dXJucyAxIHVwb24gc3VjY2VzcywgMCB1cG9uIGZhaWx1 cmUuCiAKIHByb2Mgc2V0dXBfYWxsX3N5c2NhbGxzIHt9IHsKICAgICBnbG9iYWwgYWxsX3N5 c2NhbGxzCiAgICAgZ2xvYmFsIGdkYl9wcm9tcHQKKyAgICBnbG9iYWwgZGVjaW1hbAogCiAg ICAgIyBUaGV5IGFyZSBvcmRlcmVkIGFjY29yZGluZyB0byB0aGUgZmlsZSwgc28gZG8gbm90 IGNoYW5nZSB0aGlzLgogICAgIGxhcHBlbmQgYWxsX3N5c2NhbGxzICJjbG9zZSIKICAgICBs YXBwZW5kIGFsbF9zeXNjYWxscyAiY2hyb290IgogCisgICAgaWYgeyAhW3J1bnRvX21haW5d IH0geworCXJldHVybiAwCisgICAgfQorCiAgICAgIyBTWVNfcGlwZSBkb2Vzbid0IGV4aXN0 IG9uIGFhcmNoNjQga2VybmVsLgogICAgIHNldCB0ZXN0ICJjaGVjayBTWVNfcGlwZSIKKyAg ICBzZXQgaGF2ZV9TWVNfcGlwZSAwCiAgICAgZ2RiX3Rlc3RfbXVsdGlwbGUgInAgcGlwZV9z eXNjYWxsIiAkdGVzdCB7Ci0JLXJlICIgPSAuKiRnZGJfcHJvbXB0ICQiIHsKKwktcmUgLXdy YXAgIiA9ICRkZWNpbWFsIiB7CiAJICAgIHBhc3MgJHRlc3QKLQkgICAgbGFwcGVuZCBhbGxf c3lzY2FsbHMgInBpcGUiCisJICAgIHNldCBoYXZlX1NZU19waXBlIDEKIAl9Ci0JLXJlICJO byBzeW1ib2wgLiokZ2RiX3Byb21wdCAkIiB7CisJLXJlIC13cmFwICJObyBzeW1ib2wgLioi IHsKIAkgICAgcGFzcyAkdGVzdAotCSAgICAjIFNZU19waXBlIGlzbid0IGRlZmluZWQsIHVz ZSBTWVNfcGlwZTIgaW5zdGVhZC4KLQkgICAgbGFwcGVuZCBhbGxfc3lzY2FsbHMgInBpcGUy IgorCX0KKyAgICB9CisKKyAgICBzZXQgdGVzdCAiY2hlY2sgU1lTX3BpcGUyIgorICAgIHNl dCBoYXZlX1NZU19waXBlMiAwCisgICAgZ2RiX3Rlc3RfbXVsdGlwbGUgInAgcGlwZTJfc3lz Y2FsbCIgJHRlc3QgeworCS1yZSAtd3JhcCAiID0gJGRlY2ltYWwiIHsKKwkgICAgcGFzcyAk dGVzdAorCSAgICBzZXQgaGF2ZV9TWVNfcGlwZTIgMQorCX0KKwktcmUgLXdyYXAgIk5vIHN5 bWJvbCAuKiIgeworCSAgICBwYXNzICR0ZXN0CisJfQorICAgIH0KKworICAgIGlmIHsgJGhh dmVfU1lTX3BpcGUgPT0gMCAmJiAkaGF2ZV9TWVNfcGlwZTIgPT0gMCB9IHsKKwlyZXR1cm4g MAorICAgIH0KKworICAgIHdpdGhfdGVzdF9wcmVmaXggImRldGVybWluZSBwaXBlIHN5c2Nh bGwiIHsKKwlzZXQgbGluZSBbZ2RiX2dldF9saW5lX251bWJlciAicGlwZSAoZmQpIl0KKwln ZGJfdGVzdCAiYnJlYWsgJGxpbmUiCisJZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgImJl Zm9yZSBwaXBlIGNhbGwiCisJaWYgeyAkaGF2ZV9TWVNfcGlwZSB9IHsKKwkgICAgZ2RiX3Rl c3QgImNhdGNoIHN5c2NhbGwgcGlwZSIKKwl9CisJaWYgeyAkaGF2ZV9TWVNfcGlwZTIgfSB7 CisJICAgIGdkYl90ZXN0ICJjYXRjaCBzeXNjYWxsIHBpcGUyIgorCX0KKwlzZXQgb2sgMAor CWdkYl90ZXN0X211bHRpcGxlICJjb250aW51ZSIgIiIgeworCSAgICAtcmUgLXdyYXAgIkNh dGNocG9pbnQgJGRlY2ltYWwgXFwoY2FsbCB0byBzeXNjYWxsIHBpcGVcXCkuKiIgeworCQls YXBwZW5kIGFsbF9zeXNjYWxscyBwaXBlCisJCXBhc3MgJGdkYl90ZXN0X25hbWUKKwkJc2V0 IG9rIDEKKwkgICAgfQorCSAgICAtcmUgLXdyYXAgIkNhdGNocG9pbnQgJGRlY2ltYWwgXFwo Y2FsbCB0byBzeXNjYWxsIHBpcGUyXFwpLioiIHsKKwkJbGFwcGVuZCBhbGxfc3lzY2FsbHMg cGlwZTIKKwkJcGFzcyAkZ2RiX3Rlc3RfbmFtZQorCQlzZXQgb2sgMQorCSAgICB9CisJICAg IC1yZSAtd3JhcCAiIiB7CisJCWZhaWwgJGdkYl90ZXN0X25hbWUKKwkgICAgfQorCX0KKwlp ZiB7ICEgJG9rIH0geworCSAgICByZXR1cm4gMAogCX0KICAgICB9CiAKICAgICBsYXBwZW5k IGFsbF9zeXNjYWxscyAid3JpdGUiCiAgICAgbGFwcGVuZCBhbGxfc3lzY2FsbHMgInJlYWQi CisKKyAgICByZXR1cm4gMQogfQogCi1zZXR1cF9hbGxfc3lzY2FsbHMKK2lmIHsgIVtzZXR1 cF9hbGxfc3lzY2FsbHNdIH0geworICAgIHJldHVybiAtMQorfQogCiAjIEZpbGwgYWxsIHRo ZSBzeXNjYWxscyBudW1iZXJzIGJlZm9yZSBzdGFydGluZyBhbnl0aGluZy4KIGZpbGxfYWxs X3N5c2NhbGxzX251bWJlcnMK --------------YB2Mn2lISJ94KKJTm7yfqlBN--