From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id sixWGhN06GU7ADsAWB0awg (envelope-from ) for ; Wed, 06 Mar 2024 08:48:03 -0500 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=gnu.org header.i=@gnu.org header.a=rsa-sha256 header.s=fencepost-gnu-org header.b=qWlG/Wys; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 570BD1E0D2; Wed, 6 Mar 2024 08:48:03 -0500 (EST) Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (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 1956E1E092 for ; Wed, 6 Mar 2024 08:48:01 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B3C703858418 for ; Wed, 6 Mar 2024 13:48:00 +0000 (GMT) Received: from eggs.gnu.org (eggs.gnu.org [IPv6:2001:470:142:3::10]) by sourceware.org (Postfix) with ESMTPS id EDBD83858033 for ; Wed, 6 Mar 2024 13:47:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EDBD83858033 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gnu.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gnu.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org EDBD83858033 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2001:470:142:3::10 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709732860; cv=none; b=KFV0BDzpdOLL9c+8kOjyTy0N3iBU9G3p/tr8TpuAnaLp5CMW05XoEhvoRdnjQUgRjKo58mpCzatbiXLPIwGdxgwojegiUmoMUMUTiK3JY0izeeQ+/6oWcTmLssWkfHsfMpCOQLDcTsYqmvT+7FXaLXEdIyABUnWFK/yZlAZ1vw4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709732860; c=relaxed/simple; bh=TN5qbs9uZ/6XaEa+PBT/YE53sJPvm+gdADh/vAJba8E=; h=DKIM-Signature:Date:Message-Id:From:To:Subject; b=Skz1Ta4Bs/eBrfC+FWfpSCrSD0sOdNS2+b5tO5ssWmn0luhGQVmdiuCWzru2DO1gHx5F7u9l9SLYWTsjbBgzASuWoPNswvRMusLFGNrzKT9uOmmU0cPYaXts2lJmgSwP7+1YLKtA4OE7DYtoDcs9RkqCbbziTS1ny3zuKL4qbXE= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rhrcQ-0003w4-1G; Wed, 06 Mar 2024 08:47:38 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=+7nBTXDqRJzHzVA0k//uobKKN6HjgNAI5xzOto8Idro=; b=qWlG/WysEawp Glli1O7u7RIeDUiFuoAfqQnshfHBa0RIPuzFo6JhYyIJimi8sT09UzsZDYW6OYCzVHWy5aAQZbshp 41wEw2KGbgh7jj2hM1U5MzfYro3qAYtF3pjh1T3DqvlmpdtHS4A2NUzgDn9GMGk/4YD+YMgqfPZJ8 GO2+vubsjoe+fWflqi3fAomvivdaR302fM62WEdONNrkGEys6ROXg/clu3RIqV+hJHTQD649adHw6 dZQKCCo399HElvgYY8k3j+mUimpl7ng6C5xo33lfjw28KHctxFLg1B3+bAuXwWCOqPl7a8ZJ0hghC qDUxzbL4eFdjD+hDvyaD/g==; Date: Wed, 06 Mar 2024 15:47:33 +0200 Message-Id: <86zfvbjwui.fsf@gnu.org> From: Eli Zaretskii To: Guinevere Larsen Cc: gdb-patches@sourceware.org, blarsen@redhat.com In-Reply-To: <20240306125135.766567-5-blarsen@redhat.com> (message from Guinevere Larsen on Wed, 6 Mar 2024 13:51:35 +0100) Subject: Re: [PATCH 4/4] GDB: introduce ability to disable frame unwinders References: <20240306125135.766567-1-blarsen@redhat.com> <20240306125135.766567-5-blarsen@redhat.com> X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org 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 > From: Guinevere Larsen > Cc: Guinevere Larsen > Date: Wed, 6 Mar 2024 13:51:35 +0100 > > gdb/NEWS | 7 + > gdb/doc/gdb.texinfo | 24 +++ > gdb/frame-unwind.c | 161 +++++++++++++++++- > gdb/frame-unwind.h | 13 ++ > gdb/testsuite/gdb.base/frame-unwind-disable.c | 21 +++ > .../gdb.base/frame-unwind-disable.exp | 114 +++++++++++++ > 6 files changed, 336 insertions(+), 4 deletions(-) > create mode 100644 gdb/testsuite/gdb.base/frame-unwind-disable.c > create mode 100644 gdb/testsuite/gdb.base/frame-unwind-disable.exp Thanks. > --- a/gdb/NEWS > +++ b/gdb/NEWS > @@ -43,6 +43,13 @@ disable missing-debug-handler LOCUS HANDLER > maintenance info linux-lwps > List all LWPs under control of the linux-nat target. > > +maintenance frame-unwinder disable [-name] > +maintenance frame-unwinder enable [-name] > + Enable or disable frame unwinders. This is only meant to be used when > + testing unwinders themselves, and you want to ensure that a fallback > + algorithm won't obscure a regression. GDB is not expected to behave well ^^ Two spaces between sentences, please. > +@kindex maint frame-unwinder disable > +@kindex maint frame-unwinder enable > +@item maint frame-unwinder disable [OPTION] UNWINDER > +@item maint frame-unwinder enable [OPTION] UNWINDER OPTION and UNWINDER should be @var{option} and @var{unwinder}, respectively. > +The meaning of the argument @samp{unwinder} depends on the @samp{option} The correct markup here is @var, not @samp, since these are not literal symbols, but instead names of parameters that stand for something else. Likewise elsewhere in the gdb.texinfo part of the patch. > +@table @samp > +@item @code{-all} > +ignore @samp{unwinder} and disable/enable all unwinders This should be a complete sentence: begin with a capital letter and end with a period. > +@item @code{-class} > +@samp{unwinder} is the class on frame unwinders to be disabled or enabled. ^^ This should probably be "of"? > +The class may include the prefix @code{FRAME_UNWINDER_}, but it is not > +required. This is the default option. What do you mean by the last sentence? What is "this" that is the default option? And what does "default" mean for an option, since an option is by definition something that doesn't happen by default. > +Disable one or more frame unwinder(s).\n\ > +Usage: maint frame-unwinder disable [OPTION] UNWINDER\n\ > +\n\ > +The meaning of UNWINDER depends on the OPTION given. These are the possibilities:\n\ ^^ > +\t-all - UNWINDER is ignored. All available unwinders will be disabled\n\ ^^ Two spaces between sentences in doc strings as well. > +The meaning of UNWINDER depends on the OPTION given. These are the possibilities:\n\ > +\t-all - UNWINDER is ignored. All available unwinders will be enabled\n\ Likewise here. Reviewed-By: Eli Zaretskii