RE: [PATCH v2 6/9] gdb: Add command option 'bt -shadow' to print the shadow stack backtrace.

Schimpe, Christina
2026-02-13T16:42:53Z

> -----Original Message-----
> From: Eli Zaretskii <eliz@gnu.org>
> Sent: Freitag, 23. Januar 2026 09:52
> To: Schimpe, Christina <christina.schimpe@intel.com>
> Cc: gdb-patches@sourceware.org; thiago.bauermann@linaro.org
> Subject: Re: [PATCH v2 6/9] gdb: Add command option 'bt -shadow' to print
> the shadow stack backtrace.
>
> > From: Christina Schimpe <christina.schimpe@intel.com>
> > Cc: thiago.bauermann@linaro.org
> > Date: Fri, 23 Jan 2026 08:05:28 +0000
> >
> > gdb/NEWS | 3 +
> > gdb/amd64-linux-tdep.c | 26 +
> > gdb/annotate.c | 93 +++-
> > gdb/annotate.h | 18 +-
> > gdb/doc/gdb.texinfo | 27 +
> > gdb/gdbarch-gen.c | 32 ++
> > gdb/gdbarch-gen.h | 15 +-
> > gdb/gdbarch_components.py | 20 +-
> > gdb/shadow-stack.c | 480 +++++++++++++++++-
> > gdb/shadow-stack.h | 6 +
> > gdb/stack.c | 73 +--
> > gdb/stack.h | 55 ++
> > .../gdb.arch/amd64-shadow-stack-cmds.exp | 88 ++++
> > gdb/testsuite/gdb.base/options.exp | 2 +-
> > 14 files changed, 875 insertions(+), 63 deletions(-)
>
> Thanks.
>
> > diff --git a/gdb/NEWS b/gdb/NEWS
> > index 74fc353d7e9..37b3add11ed 100644
> > --- a/gdb/NEWS
> > +++ b/gdb/NEWS
> > @@ -3,6 +3,9 @@
> >
> > *** Changes since GDB 17
> >
> > +* New "-shadow" command line option for the backtrace command to
> > +print the
> > + shadow stack backtrace instead of the normal backtrace.
> > +
> > * Support for .gdb_index sections with version less than 7 has been
> > removed.
>
> This part is okay.
>
> > +A shadow stack is supported, for instance, with the Intel
> > +Control-Flow Enforcement Technology (@xref{CET}) on x86 and the
> > +Guarded Control Stack feature (@xref{GCS}) on AArch64.
> ^^^^^^^^^^
> This should use @pxref, not @xref.

Yes, thanks!

> > +This option may be combined with “-frame-info” and implies ‘-no-filters’
> > +and ‘-frame-arguments none’. ^^^^^^^^^^^^^ ^^^^^^^^^^^^^
> ^^^^^^^^^^^^^^^^^^^^^^^
> All those should use @code and without the quotes.

Yes, will fix, too.

> > +@node GCS
> > @subsubsection AArch64 Guarded Control Stack @cindex Guarded
> Control
> > Stack, AArch64 @cindex GCS, AArch64 @@ -27248,6 +27274,7 @@
> registers
> >
> > @end itemize
> >
> > +@node CET
> > @subsubsection Intel Control-Flow Enforcement Technology.
> > @cindex Intel Control-Flow Enforcement Technology.
>
> You are adding @node's, but AFAICT you don't change the @menu of the
> parent section. That can only work with recent Texinfo versions, where
> @menus are updated automatically. Please update the parent @menu as
> part of the patch, to not rely on those recent versions.
> Reviewed-By: Eli Zaretskii <eliz@gnu.org>

Ah, I wasn't aware, thanks!

Now it looks like
@menu
* AArch64::
* GCS::
* x86::
* CET::
* Alpha::
[...]
@end menu

This looks somehow unconventional since CET/GCS are subsubsections
(and no subsections like AArch64/x86) but since this is a requirement
of old texinfo versions I'll simply add it.

Christina
Intel Deutschland GmbH
Registered Address: Dornacher Straße 1, 85622 Feldkirchen, Germany
Tel: +49 89 991 430, www.intel.de
Managing Directors: Harry Demas, Jeffrey Schneiderman, Yin Chong Sorrell
Chairperson of the Supervisory Board: Nicole Lau
Registered Seat: Munich
Commercial Register: Amtsgericht München HRB 186928