From: Thiago Jung Bauermann <thiago.bauermann@linaro.org>
To: Christina Schimpe <christina.schimpe@intel.com>
Cc: gdb-patches@sourceware.org, tom@tromey.com
Subject: Re: [PATCH v4 00/13] Add new command to print the shadow stack backtrace
Date: Thu, 03 Sep 2026 06:44:39 +0000 [thread overview]
Message-ID: <87pkyusujs.fsf@linaro.org> (raw)
In-Reply-To: <20260708143639.2214689-1-christina.schimpe@intel.com> (Christina Schimpe's message of "Wed, 8 Jul 2026 14:36:26 +0000")
Hello Christina,
Thank you for this new version and for addressing the review comments.
Also thank you for this detailed cover letter. It's very helpful.
Christina Schimpe <christina.schimpe@intel.com> writes:
> Hi all,
>
> this is my v4 of the series
> "Add new command to print the shadow stack backtrace".
>
> ***Diff of v4 to v3***:
>
> - Minor fixup for ARM compilation
> - The commit
> "gdb: Provide gdbarch hook to distinguish shadow stack backtrace elements."
> was accidentially merged into the previous one
> ("gdb: Add command option 'bt -shadow' to print the shadow stack backtrace.").
> Isolate it again.
>
> Other than that, I am keeping the full cover letter summarizing the
> changes for v3 (diff of v3 to v2). It has not been reviewed yet, since I posted
> it just a couple days ago.
>
> ***Diff of v3 to v2***:
>
> It now includes:
> - the implementation of the -past-main command line option
> - support for inferior calls
> (printing of <function called from gdb> instead of the shadow stack element)
> - full support for signals
> (printing of <signal handler called> instead of the shadow stack element)
Great improvements!
> Due to this some larger refactoring was required; I summarized it here:
> https://sourceware.org/pipermail/gdb-patches/2026-May/227481.html
>
> The refactoring mostly affected the following commits:
> "gdb: Provide gdbarch hook to distinguish shadow stack backtrace elements."
> "gdb: Add command option 'bt -shadow' to print the shadow stack backtrace."
> "gdb: Implement the hook 'is_no_return_shadow_stack_address' for amd64 linux."
> I did not add any Reviewed-By or Approved-By tags for the 3 commits, since
> they changed significantly.
>
> Furthermore, I addressed (hopefully all) the comments of Tom, Thiago and Eli:
> - Remove annotations
> - Some better code reuse (especially for the mi patch)
> - A new patch "aarch64: Implement gdbarch function top_addr_empty_shadow_stack."
> This also allows to remove some target dependent GCS code in aarch64-*.c
Nice! Thanks.
> - Various smaller issues and nits
> - Fixes for check-gdbarch.py
>
> And finally some smaller issues I noted myself (mostly for patch #1
> "gdb: Generalize handling of the shadow stack pointer."):
> - Remove unused gdbarch parameter in some of the introduced hooks
> - Changes in gdb/aarch64-tdep.c when calling shadow_stack_push, since
> some code for getting the shadow stack pointer and checking the enablement
> state was duplicated.
>
> Opens:
> 1) Thiago suggested changing the frame numbering so that it always starts
> at #1, since for the shadow stack we don't have frame #0 printed by the
> normal backtrace.
> 2) Or, consider printing frame #0 similarly to what the normal backtrace does
I still prefer option 1, but I'm also fine if some other option is
chosen.
> 3) Consider printing frame arguments (but I believe, if possible, this should
> better be added in a follow-up series)
IMHO it's not necessary, but I agree it's for a follow-up series if it
is implemented.
> 4) Show the selected frame, for details see here:
> https://sourceware.org/pipermail/gdb-patches/2026-June/227720.html
It would be nice to show the selected frame. If the selected frame is
frame 0, then I think it's fine to simply not show it.
--
Thiago
(he/him)
next prev parent reply other threads:[~2026-09-03 6:45 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-08 14:36 Christina Schimpe
2026-07-08 14:36 ` [PATCH v4 01/13] gdb: Generalize handling of the shadow stack pointer Christina Schimpe
2026-07-08 14:36 ` [PATCH v4 02/13] aarch64: Implement gdbarch function top_addr_empty_shadow_stack Christina Schimpe
2026-08-12 22:13 ` Luis
2026-08-25 9:01 ` Joos, Christina
2026-08-29 5:24 ` Thiago Jung Bauermann
2026-08-30 11:14 ` Joos, Christina
2026-09-03 6:49 ` Thiago Jung Bauermann
2026-09-12 6:02 ` Thiago Jung Bauermann
2026-07-08 14:36 ` [PATCH v4 03/13] gdb: Add get_main_func_start_pc to refactor frame.c:inside_main_func Christina Schimpe
2026-09-03 6:53 ` Thiago Jung Bauermann
2026-07-08 14:36 ` [PATCH v4 04/13] gdb: Refactor 'stack.c:print_frame' Christina Schimpe
2026-07-08 14:36 ` [PATCH v4 05/13] gdb: Introduce 'stack.c:print_pc' function without frame argument Christina Schimpe
2026-07-08 14:36 ` [PATCH v4 06/13] gdb: Refactor 'find_symbol_funname' and 'info_frame_command_core' in stack.c Christina Schimpe
2026-07-08 14:36 ` [PATCH v4 07/13] gdb: Refactor 'stack.c:print_frame_info' Christina Schimpe
2026-07-08 14:36 ` [PATCH v4 08/13] gdb: Add command option 'bt -shadow' to print the shadow stack backtrace Christina Schimpe
2026-09-03 7:37 ` Thiago Jung Bauermann
2026-09-10 19:36 ` Joos, Christina
2026-09-12 5:52 ` Thiago Jung Bauermann
2026-07-08 14:36 ` [PATCH v4 09/13] gdb: Provide gdbarch hook to distinguish shadow stack backtrace elements Christina Schimpe
2026-09-03 7:44 ` Thiago Jung Bauermann
2026-07-08 14:36 ` [PATCH v4 10/13] gdb: Implement the hook 'is_no_return_shadow_stack_address' for amd64 linux Christina Schimpe
2026-09-03 7:49 ` Thiago Jung Bauermann
2026-07-08 14:36 ` [PATCH v4 11/13] gdb: Enable inferior calls in the shadow stack backtrace Christina Schimpe
2026-09-03 7:51 ` Thiago Jung Bauermann
2026-07-08 14:36 ` [PATCH v4 12/13] gdb: Enable signal trampolines " Christina Schimpe
2026-09-03 7:53 ` Thiago Jung Bauermann
2026-07-08 14:36 ` [PATCH v4 13/13] gdb, mi: Add -shadow-stack-list-frames command Christina Schimpe
2026-09-03 8:10 ` Thiago Jung Bauermann
2026-08-04 7:45 ` RE:[PATCH v4 00/13] Add new command to print the shadow stack backtrace Joos, Christina
2026-09-03 6:44 ` Thiago Jung Bauermann [this message]
2026-09-10 19:42 ` [PATCH " Joos, Christina
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87pkyusujs.fsf@linaro.org \
--to=thiago.bauermann@linaro.org \
--cc=christina.schimpe@intel.com \
--cc=gdb-patches@sourceware.org \
--cc=tom@tromey.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox