From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id nrF0NX/+eWrYLBsAWB0awg (envelope-from ) for ; Mon, 10 Aug 2026 12:38:23 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=PkGP1fYs; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id C667C1E09B; Mon, 10 Aug 2026 12:38:23 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [IPv6:2620:52:6:3111::32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 3D9471E09B for ; Mon, 10 Aug 2026 12:38:23 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 65D334B99F5A for ; Mon, 10 Aug 2026 16:38:21 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 65D334B99F5A Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=PkGP1fYs Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id A8D274BA79AE for ; Mon, 10 Aug 2026 16:37:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A8D274BA79AE Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A8D274BA79AE Authentication-Results: sourceware.org; arc=none smtp.remote-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1786379877; cv=none; b=xBlEyw7Owi0wsPpr2rj7eYp8n3qMI0QQ/gE8Dwkkt2Xo8FGpo8m+4fr748A6MavOAWT1GZDv+b3Ea1B1vxMSMBjJk0sxpx7kFkSxK5mUI7fyWf2suIbqRFv2T8CaK6+CjCeQakLZ8Aa8IP5/fOZqCuU+tuSmA5zQuu79Cp+9ahA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1786379877; c=relaxed/simple; bh=Z8e8hP78y4jSEd6xoMvHZ6B0Mef3qUQPBFQ2GEOPDEA=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=Q1GMjo4bVLbsolqiNA/CtBLMsoPtRlQd8ypQhfWK+ZRrai4iVnC1o5q7LYkM5oSk/Mce1HHqJ3gSnh+4Acj/02q6Bsq2XvkMqJ2WMDSXc7mws07RT8hN8b8bXvvzbV83Rm5pzJn085hjCYAZcKJmeW9hFcFwAcxdt6z0Vbo9UeM= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=PkGP1fYs DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A8D274BA79AE DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1786379877; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=IpCF4XLbAxTPhGUi6zq01x/FckC/eQSpOWlluSV4nvQ=; b=PkGP1fYsl+0r8KgC6sdzWUt0G3fRYDsV5MQYG56FSBuwMcAYbg7ag3c6u9eMiGx3vGnHCq wXF8DVBIxbYaxbUEuV9KNVKIuqa6OSQzDz6XeqU6hjy50TcXWV/WAp6vlEQRjaHhPtlG1t Y65y6gwbcTVlsVGlQk7n+/wDkWAnM0U= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-688-yiOcZyjiMhuDBHXoz0Gw2g-1; Mon, 10 Aug 2026 12:37:56 -0400 X-MC-Unique: yiOcZyjiMhuDBHXoz0Gw2g-1 X-Mimecast-MFC-AGG-ID: yiOcZyjiMhuDBHXoz0Gw2g_1786379875 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-4956c1655c3so12549405e9.0 for ; Mon, 10 Aug 2026 09:37:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786379875; x=1786984675; h=content-type:mime-version:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to:content-type; bh=IpCF4XLbAxTPhGUi6zq01x/FckC/eQSpOWlluSV4nvQ=; b=DvMI63nq0QBVWuPbRiQEZHmzpvyjLigtb99locv0DApScJ0r24Ax8pKciwiCEAMUpf SmjmsK8KMDqbyKwymmVGsJQ74dlBbv91yxe6eblMfRbcXuFpz4i5qCFPp6i1vwUMyCW0 JbrXUO++QRcpkT7VM5sT+RifyB17UjovmZBeRcrrqETat/4ZEBlTU3jhjZ9zAUca4n5e Tdhbx4IDh/feUMkkHzERhi3nKR0xyio4BHYPo3224iHIAaeK5HTqR8X7KZQcXVRwzBWL NPPTfH2h8Xsy3DEdn7/ectFuJky1DHAmoa0omzVBv+nhJUsafF+/Ek9NXNAryjhHbHFZ 2ELg== X-Forwarded-Encrypted: i=1; AHgh+RoppAcHga1FsTrIxK+fmFnFBTsOLAgHTB57yQbDDEtWfF0vf7PMzGOWR5h1LjCpV4CkSU/6UKXnKVAVHA==@sourceware.org X-Gm-Message-State: AOJu0YzXihjtPyoUgaupou9YcgWYzT2u2Kq8e+8lxSO6sb4wxHEgGX0t iMk8Cj6YG9QfXkmzh4Sg+VH83/hOYcmI9gVD4Zn4p/BE4YZS+S5321fMFPew6h3u5njcZU+tn50 VvsWnl4idVbSP8mqs5Z+8ZDrKEsJmAsbPGD+Nq3mFU/dYiB8JzwEPA57LTCQb5ic= X-Gm-Gg: AR+sD10vV/ttgYq2heOLuyWlYTxdsPoHM6ZecR90VinxOLUBipBm8kzI7MEgX9FybAC q1GVX5MbzbAbeBUB7gFMHqQu3TXxwU2fruxdWC/eEjsZpqavOqGYUj79zaIiW851V6QgkQssSjd yJfzFSxbbHtEifL6wuAgaE8D5q/QRfu6exnZu8HGaEXtQSvTQM5R58XdTvpQoRid9rLr6pBGATJ Rns785ZrG45Jf0IALWRIXzTUDhGGi88KGtQWJXuRkMv/WRNDQGtpw0c3moRSlOQ/h9WBkWK0wu2 dPx/kF6s6ku6c9io/bfX5utjuBHNsMSl1xQ9hVGqWr1JQf+p/MBVR8W4Naw7oRZhdprY2YrT X-Received: by 2002:a05:600c:6c06:b0:499:7024:9d4a with SMTP id 5b1f17b1804b1-49970249e66mr61473505e9.8.1786379874800; Mon, 10 Aug 2026 09:37:54 -0700 (PDT) X-Received: by 2002:a05:600c:6c06:b0:499:7024:9d4a with SMTP id 5b1f17b1804b1-49970249e66mr61472985e9.8.1786379874198; Mon, 10 Aug 2026 09:37:54 -0700 (PDT) Received: from localhost ([31.111.209.128]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499740f1095sm6792165e9.13.2026.08.10.09.37.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Aug 2026 09:37:53 -0700 (PDT) From: Andrew Burgess To: Tom Tromey , gdb-patches@sourceware.org Cc: Tom Tromey Subject: Re: [PATCH] Use Python safety API in py-symbol.c In-Reply-To: <20260809182352.959293-1-tom@tromey.com> References: <20260809182352.959293-1-tom@tromey.com> Date: Mon, 10 Aug 2026 17:37:52 +0100 Message-ID: <87cxvqkk2n.fsf@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 9CtdZCgPelU4ZF9TwIQqDJOOGDnXzc1rU_Bc9pL4X_s_1786379875 X-Mimecast-Originator: redhat.com Content-Type: text/plain X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org Tom Tromey writes: > This changes py-symbol.c to use the new Python safety API. A new > wrapper was needed in py-safety.h, but otherwise the patch is > straightforward. > > Regression tested on x86-64 Fedora 40. > --- > gdb/python/py-safety.h | 27 ++ > gdb/python/py-symbol.c | 647 +++++++++++++++-------------------- > gdb/python/python-internal.h | 15 +- > gdb/python/python.c | 20 +- > 4 files changed, 316 insertions(+), 393 deletions(-) > > diff --git a/gdb/python/py-safety.h b/gdb/python/py-safety.h > index 3294f38c8b6..72b62ec526c 100644 > --- a/gdb/python/py-safety.h > +++ b/gdb/python/py-safety.h > @@ -299,6 +299,33 @@ varargs_method (const char *name, const char *doc) > }; > } > > +/* Normally gdb requires that if a method accepts multiple arguments, > + then it should also accept keywords. However, there are some > + exceptions to this rule. These exceptions should use this wrapper. > + This should be used sparingly. > + > + A typical exception is something that takes an optional argument. > + So, it may call PyArg_ParseTuple with "|s" or the like. > + > + The underlying method should accept a single gdbpy_borrowed_ref > + argument, which holds the arguments. */ Would it not be better to just update the function in question to accept keyword arguments? I know some people dislike using them on single argument functions, but surely from the GDB side, supporting them is pretty cheap, then it's up to the user if they want to use them or not? Thanks, Andrew