From: Tom Tromey <tom@tromey.com>
To: Abdul Basit Ijaz <abdul.b.ijaz@intel.com>
Cc: gdb-patches@sourceware.org, JiniSusan.George@amd.com,
tom@tromey.com, eliz@gnu.org
Subject: Re: [PATCH v11 04/10] gdb: Skip trampoline frames for the backtrace command.
Date: Wed, 21 Oct 2026 14:50:40 -0600 [thread overview]
Message-ID: <87jynau6an.fsf@tromey.com> (raw)
In-Reply-To: <20260803193449.33375-5-abdul.b.ijaz@intel.com> (Abdul Basit Ijaz's message of "Mon, 3 Aug 2026 21:34:43 +0200")
>>>>> Abdul Basit Ijaz <abdul.b.ijaz@intel.com> writes:
> This change filters trampoline functions when the option
> 'skip-trampoline-functions' is set to 'on' for the backtrace command.
> Before the change, GDB prints the frames indicated by the compiler with
> DIE "DW_AT_trampoline" in the backtrace, but for better user experience,
> all such frames can be hidden from the user.
> For O2 optimized code where inlined trampoline wrappers are inlined into
> regular functions. Check the frame's function directly for inline frames
> instead of looking up by PC, which would incorrectly return the caller's
> function.
> The test 'gdb.fortran/mixed-lang-stack' test used to fail for the IFX
> compiler because of extra trampoline frames in the backtrace. After the
> commit, those trampoline frames are filtered and test is updated accordingly.
It's maybe somewhat unfortunate that this doesn't follow the precedent
set by Python frame filters, where a frame can be marked "elided" and
then is either printed indented (the default) or hidden (with "bt
-hide").
> diff --git a/gdb/stack.c b/gdb/stack.c
> index f41f818cebb..fa217ae9f6f 100644
> --- a/gdb/stack.c
> +++ b/gdb/stack.c
> @@ -1978,6 +1978,14 @@ backtrace_command_1 (const frame_print_options &fp_opts,
> {
> QUIT;
> + if (skip_trampoline_functions && in_trampoline_frame (fi))
> + {
> + /* Trampoline frames are not printed so they are not counted in
> + the backtrace limit. */
> + count++;
> + continue;
> + }
What happens if I "break 0x..." using an address in a trampoline
function and then "bt" from there?
I think this means the frame won't be printed. But this could be
confusing because gdb will be lying about the PC.
In this scenario what would "disassemble" by itself show?
That is, I somewhat suspect that there should be a special case here for
the "live" frame.
Tom
next prev parent reply other threads:[~2026-10-21 20:51 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-03 19:34 [PATCH v11 00/10] GDB support for DW_AT_trampoline Abdul Basit Ijaz
2026-08-03 19:34 ` [PATCH v11 01/10] gdb, dwarf: add support for DW_AT_trampoline in DWARF reader Abdul Basit Ijaz
2026-10-21 20:33 ` Tom Tromey
2026-10-22 11:02 ` Ijaz, Abdul B
2026-08-03 19:34 ` [PATCH v11 02/10] gdb/symtab: add lookup for trampoline functions Abdul Basit Ijaz
2026-08-03 19:34 ` [PATCH v11 03/10] gdb: handle stepping through functions with DW_AT_trampoline Abdul Basit Ijaz
2026-10-21 20:39 ` Tom Tromey
2026-10-22 11:15 ` Ijaz, Abdul B
2026-10-21 20:43 ` Tom Tromey
2026-10-22 11:37 ` Ijaz, Abdul B
2026-08-03 19:34 ` [PATCH v11 04/10] gdb: Skip trampoline frames for the backtrace command Abdul Basit Ijaz
2026-10-21 20:50 ` Tom Tromey [this message]
2026-10-22 12:11 ` Ijaz, Abdul B
2026-08-03 19:34 ` [PATCH v11 05/10] gdb: Skip trampoline functions for the finish and reverse-finish commands Abdul Basit Ijaz
2026-10-21 20:52 ` Tom Tromey
2026-10-22 12:31 ` Ijaz, Abdul B
2026-08-03 19:34 ` [PATCH v11 06/10] gdb: Skip trampoline functions for the up command Abdul Basit Ijaz
2026-10-21 20:53 ` Tom Tromey
2026-10-22 13:01 ` Tom Tromey
2026-10-22 14:02 ` Ijaz, Abdul B
2026-08-03 19:34 ` [PATCH v11 07/10] gdb: Skip trampoline functions for the return command Abdul Basit Ijaz
2026-08-03 19:34 ` [PATCH v11 08/10] gdb, mi: Skip trampoline functions for the -stack-list-frames command Abdul Basit Ijaz
2026-10-21 20:58 ` Tom Tromey
2026-10-22 14:18 ` Ijaz, Abdul B
2026-08-03 19:34 ` [PATCH v11 09/10] gdb, mi: Skip trampoline functions for the -stack-list-arguments command Abdul Basit Ijaz
2026-08-03 19:34 ` [PATCH v11 10/10] gdb: Filter trampoline frames in backtrace when using Python frame-filters Abdul Basit Ijaz
2026-10-21 21:03 ` Tom Tromey
2026-10-22 17:04 ` Ijaz, Abdul B
2026-09-09 7:40 ` [PING][PATCH v11 00/10] GDB support for DW_AT_trampoline Ijaz, Abdul B
2026-09-18 9:33 ` Ijaz, Abdul B
2026-10-01 7:49 ` Ijaz, Abdul B
2026-10-12 13:52 ` Ijaz, Abdul B
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=87jynau6an.fsf@tromey.com \
--to=tom@tromey.com \
--cc=JiniSusan.George@amd.com \
--cc=abdul.b.ijaz@intel.com \
--cc=eliz@gnu.org \
--cc=gdb-patches@sourceware.org \
/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