From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 6dmaFfbvtGpXFTwAWB0awg (envelope-from ) for ; Thu, 24 Sep 2026 05:40:06 -0400 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=fJNgYK4m; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 37C511E033; Thu, 24 Sep 2026 05:40:06 -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 4B6621E033 for ; Thu, 24 Sep 2026 05:40:05 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id ABA994BB3BDB for ; Thu, 24 Sep 2026 09:40:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ABA994BB3BDB Authentication-Results: sourceware.org; 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=fJNgYK4m Received: from eggs.gnu.org (eggs.gnu.org [IPv6:2001:470:142:3::10]) by sourceware.org (Postfix) with ESMTPS id 03D994BA2E07 for ; Thu, 24 Sep 2026 09:39:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 03D994BA2E07 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 03D994BA2E07 Authentication-Results: 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=1790242782; cv=none; b=pf9fXdE0MMe2/2iPtHTTWp+ifJRFY00mM1cROkR0gxxuDfGWrfYi2GxSyl7pVODaR8jHr0Fo3BPlkt1S0+b5SkQ7+EHxAOS0YVxtrjqBHDqWglipdIQD5cznVLuLotK5gwMdF9zBDOZH97b/qv0WrUiplLeg1Vssp+kjAVIOIEc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1790242782; c=relaxed/simple; bh=SD333pKTWTASARAbqEc9SIW/0q6ArqG+KadoI97w/9M=; h=DKIM-Signature:Date:Message-Id:From:To:Subject; b=qd+SFOelffIAFBKk9KAAUUd+2cQ0VDR6AjSMq7tJXhnFKzsg0RsaYDgiaDTW2nGYgNptKJwSpJOHqUwr1rCN3uo3GbOUPgtfWyTz6slN/hFa5PLzG2QA03U7f6H3sBwhVeDdsUeDMO7Cqq6LpURIUt+i6PYXPwfBER/dUYxD360= ARC-Authentication-Results: i=1; sourceware.org; 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=fJNgYK4m DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 03D994BA2E07 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 1x9fvX-0003j2-UR; Thu, 24 Sep 2026 05:39:40 -0400 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=ikKQUjOa/XdUUEA3TDAj3j+WZ+AqxgAAT5f0u2T1i1s=; b=fJNgYK4mOv9v zP3X7mkxryA0TXG5ZFmMJ0mWdXtYWJneWWz/bqjy04nW4CttSJ1hiZu0eyCSGbOeNSM3ndZFlEsO1 I99y6OzR0nBFrtI3oap30Mg+noI04k3urjtrypNBbYevU3Fl9xsoj/Txbhg7sLAhzVP/WIxOupB2D dHIATBrD9/yyElZywbqfGwwHU3fj5YUXx6bh6+6xurG5A5/VbpS2xyYhU3zjTR8QMmwFEfo/kzRMH hk8kjmzQ9dbuB1fKt59pz0D2JhEdVmHvDf1WJ6bDXl5saqeohl7odhwYjp7lH94bI4GtKt5Fs8yZJ xZ4Y/Ue+uYFAGN3+vy189g==; Date: Thu, 24 Sep 2026 12:39:36 +0300 Message-Id: <86fqyz9eef.fsf@gnu.org> From: Eli Zaretskii To: Christina Joos Cc: gdb-patches@sourceware.org, thiago.bauermann@linaro.org, tom@tromey.com, luis.machado.foss@gmail.com In-Reply-To: <20260924083311.1961530-14-christina.joos@intel.com> (message from Christina Joos on Thu, 24 Sep 2026 10:33:10 +0200) Subject: Re: [PATCH v5 13/13] gdb, mi: Add -shadow-stack-list-frames command References: <20260924083311.1961530-1-christina.joos@intel.com> <20260924083311.1961530-14-christina.joos@intel.com> 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: Christina Joos > Cc: thiago.bauermann@linaro.org, tom@tromey.com, luis.machado.foss@gmail.com > Date: Thu, 24 Sep 2026 10:33:10 +0200 > > Add the mi command for the command "backtrace -shadow". > Similar to the mi interface for the ordinary backtrace command, > support low-frame and high-frame as command line parameters. > > Example print of a full shadow stack backtrace: > ~~~ > (gdb) > -shadow-stack-list-frames > ^done,shadow-stack=[ > shadow-stack-frame={level="0",addr="0x00007ffff7c3fe70", > func="__libc_start_call_main",file="../sysdeps/nptl/libc_start_call_main.h", > fullname="/usr/[...]/sysdeps/nptl/libc_start_call_main.h", > line="58",arch="i386:x86-64"}, > shadow-stack-frame={level="1",addr="0x00007ffff7c3ff20", > func="__libc_start_main_impl",file="../csu/libc-start.c", > fullname="/usr/[...]/csu/libc-start.c", > line="128",arch="i386:x86-64"}, > shadow-stack-frame={level="2",addr="0x0000000000401075", > func="_start",arch="i386:x86-64"}] > ~~~ > > Example print of a shadow stack backtrace using low- and high-frame: > ~~~ > (gdb) > -shadow-stack-list-frames 0 1 > ^done,shadow-stack=[ > shadow-stack-frame={level="0",addr="0x00007ffff7c3fe70", > func="__libc_start_call_main",file="../sysdeps/nptl/libc_start_call_main.h", > fullname="/usr/[...]/sysdeps/nptl/libc_start_call_main.h", > line="58",arch="i386:x86-64"}, > shadow-stack-frame={level="1",addr="0x00007ffff7c3ff20", > func="__libc_start_main_impl",file="../csu/libc-start.c", > fullname="/usr/[...]/csu/libc-start.c", > line="128",arch="i386:x86-64"}] > ~~~ > --- > gdb/NEWS | 8 ++ > gdb/doc/gdb.texinfo | 51 +++++++ > gdb/mi/mi-cmd-stack.c | 95 +++++++++++++ > gdb/mi/mi-cmds.c | 2 + > gdb/mi/mi-cmds.h | 1 + > gdb/shadow-stack.c | 127 +++++++++++++----- > gdb/shadow-stack.h | 43 ++++++ > .../gdb.mi/mi-shadow-stack-signal.exp | 69 ++++++++++ > gdb/testsuite/gdb.mi/mi-shadow-stack.exp | 93 +++++++++++++ > 9 files changed, 453 insertions(+), 36 deletions(-) > create mode 100644 gdb/testsuite/gdb.mi/mi-shadow-stack-signal.exp > create mode 100644 gdb/testsuite/gdb.mi/mi-shadow-stack.exp Thanks, the documentation parts are okay. Reviewed-By: Eli Zaretskii