From: "Ijaz, Abdul B" <abdul.b.ijaz@intel.com>
To: Tom Tromey <tom@tromey.com>
Cc: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>,
"JiniSusan.George@amd.com" <JiniSusan.George@amd.com>,
"eliz@gnu.org" <eliz@gnu.org>,
"Ijaz, Abdul B" <abdul.b.ijaz@intel.com>
Subject: RE: [PATCH v11 06/10] gdb: Skip trampoline functions for the up command.
Date: Thu, 22 Oct 2026 14:02:18 +0000 [thread overview]
Message-ID: <SA1PR11MB6846A2853557185612E6AE3DCB652@SA1PR11MB6846.namprd11.prod.outlook.com> (raw)
In-Reply-To: <87y0bpsxbv.fsf@tromey.com>
Thanks Tom, for the feedback.
>> This change skips trampoline functions when the option
>> 'skip-trampoline-functions' is set to 'on' for the up command. Before
>> this change, GDB processes trampoline functions indicated by the
>> compiler with DIE "DW_AT_trampoline" and stops at the trampoline function for the 'up'
>> command. For better user experience, all such frames can be skipped
>> and hidden from the user.
Tom> Why "up" but not "down"?
Abdul> No reason and just missed, but will be added in V12. The "down" command should skip trampoline frames as well;
Currently using v11 patch, "down" command from the frame outside a trampoline selects the trampoline, which "bt" does not show. With ifx and gdb.fortran/func-trampoline.f90 (func_trampoline -> first_.t95p.t96p -> first -> second_.t74p.t75p -> second), stopped in "second":
(gdb) bt
#0 second (x=20, y=9) at func-trampoline.f90:23
#2 0x00000000004052a3 in first (num1=16, num2=3) at func-trampoline.f90:30
#4 0x00000000004052f4 in func_trampoline () at func-trampoline.f90:36
(gdb) up
#2 0x00000000004052a3 in first (num1=16, num2=3) at func-trampoline.f90:30
(gdb) down
#1 0x00000000004052c9 in second_.t74p.t75p () at func-trampoline.f90:31
For v12 "down" will skip trampoline frames too, stopping at the innermost frame even if that is a trampoline.
Tom> I was thinking about this last night and wondering how this change interacts with the "frame" command as well.
The "frame" command works as expected. Trampoline frames always exist; they are only skipped by commands like "backtrace", "finish" or "up", where they do not add useful information. If the user wants to select a trampoline frame, "frame N" (and "frame level", "frame function", ...) still selects it, with its real level:
(gdb) frame 1
#1 0x00000000004052c9 in second_.t74p.t75p () at func-trampoline.f90:31
(gdb) frame 0
#0 second (x=20, y=9) at func-trampoline.f90:23
"frame apply all", "frame apply N" are different, though: they walk all frames, so they also run the command in the trampoline frames that "bt" does not show.
(gdb) frame apply all -c print num1
#0 second (x=20, y=9) at func-trampoline.f90:23
No symbol "num1" in current context.
#1 0x00000000004052c9 in second_.t74p.t75p () at func-trampoline.f90:31
No symbol "num1" in current context.
#2 0x00000000004052a3 in first (num1=16, num2=3) at func-trampoline.f90:30
$1 = 16
#3 0x00000000004053c9 in first_.t95p.t96p () at func-trampoline.f90:40
No symbol "num1" in current context.
#4 0x00000000004052f4 in func_trampoline () at func-trampoline.f90:36
No symbol "num1" in current context.
For v12 I will make them skip trampoline frames like "bt" (or follow whatever we decide for "bt" in 04/10), and add tests accordingly.
Thanks & Best Regards,
Abdul Basit
-----Original Message-----
From: Tom Tromey <tom@tromey.com>
Sent: Thursday, October 22, 2026 3:02 PM
To: Tom Tromey <tom@tromey.com>
Cc: Ijaz, Abdul B <abdul.b.ijaz@intel.com>; gdb-patches@sourceware.org; JiniSusan.George@amd.com; eliz@gnu.org
Subject: Re: [PATCH v11 06/10] gdb: Skip trampoline functions for the up command.
>>>>> "Tom" == Tom Tromey <tom@tromey.com> writes:
>>>>> Abdul Basit Ijaz <abdul.b.ijaz@intel.com> writes:
>> This change skips trampoline functions when the option
>> 'skip-trampoline-functions' is set to 'on' for the up command.
>> Before this change, GDB processes trampoline functions indicated by
>> the compiler with DIE "DW_AT_trampoline" and stops at the trampoline function for the 'up'
>> command. For better user experience, all such frames can be skipped
>> and hidden from the user.
Tom> Why "up" but not "down"?
I was thinking about this last night and wondering how this change interacts with the "frame" command as well.
Tom
________________________________________
Intel Deutschland GmbH
Registered Address: Dornacher Strasse 1, 85622 Feldkirchen, Germany
Tel: +49 (89) 99143-0
www.intel.de
Managing Directors: Candice Moore, Jeffrey Schneiderman, Ramachandran Sitaraman
Chairperson of the Supervisory Board: Sonja Pierer
Registered Seat: Munich Commercial Register B: Amtsgericht Munich HRB 186928
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
next prev parent reply other threads:[~2026-10-22 14:02 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
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 [this message]
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=SA1PR11MB6846A2853557185612E6AE3DCB652@SA1PR11MB6846.namprd11.prod.outlook.com \
--to=abdul.b.ijaz@intel.com \
--cc=JiniSusan.George@amd.com \
--cc=eliz@gnu.org \
--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