Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
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 03/10] gdb: handle stepping through functions with DW_AT_trampoline
Date: Thu, 22 Oct 2026 11:15:27 +0000	[thread overview]
Message-ID: <SA1PR11MB6846681F5D777D9DC07FF2A9CB652@SA1PR11MB6846.namprd11.prod.outlook.com> (raw)
In-Reply-To: <87se1yu6u0.fsf@tromey.com>

Thanks Tom, for the feedback.

Please see the inline reply below:

>> +/* Maximum size of trampoline chain to process while resolving
>> +   trampolines.  This avoids infinite loops for malformed debug
>> +   information.  */
>> +#define MAX_TRAMPOLINE_CHAIN_SIZE 10

Tom> Are there cases where there may be multiple trampolines chained together?
Tom> If it's unusual or pathological then I guess some hard-coded limit seems fine.
Tom> If it's normal then why 10?  Like, I'm wondering if perhaps some other approach should be taken.

Abdul> It is unusual.  A chain means a trampoline whose target is itself a trampoline; the test covers a chain of two (chained_trampoline -> trampoline -> target in gdb.dwarf2/dw2-function-trampolines.c), and I am not aware of compilers emitting longer ones.  Normally a trampoline directly calls its target.

The limit is only a safeguard, so that malformed debug information, e.g. two trampolines naming each other as target, cannot make GDB loop forever.  10 is well above what is expected in practice, so I would like to keep it as it is.

Best Regards,
Abdul Basit

-----Original Message-----
From: Tom Tromey <tom@tromey.com> 
Sent: Wednesday, October 21, 2026 10:39 PM
To: Ijaz, Abdul B <abdul.b.ijaz@intel.com>
Cc: gdb-patches@sourceware.org; JiniSusan.George@amd.com; tom@tromey.com; eliz@gnu.org; Nils-Christian Kempke <nils-christian.kempke@intel.com>
Subject: Re: [PATCH v11 03/10] gdb: handle stepping through functions with DW_AT_trampoline

>>>>> Abdul Basit Ijaz <abdul.b.ijaz@intel.com> writes:

> This patch makes infrun continue stepping into and through trampoline 
> functions marked via the DW_AT_trampoline in DWARF.

I'm probably not the best person to review this but I did have one
question:

> diff --git a/gdb/infrun.h b/gdb/infrun.h index 
> cbc603b74ed..135d1fc350b 100644
> --- a/gdb/infrun.h
> +++ b/gdb/infrun.h
 
> +/* Maximum size of trampoline chain to process while resolving
> +   trampolines.  This avoids infinite loops for malformed debug
> +   information.  */
> +#define MAX_TRAMPOLINE_CHAIN_SIZE 10

Are there cases where there may be multiple trampolines chained together?

If it's unusual or pathological then I guess some hard-coded limit seems fine.

If it's normal then why 10?  Like, I'm wondering if perhaps some other approach should be taken.

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.

  reply	other threads:[~2026-10-22 11:16 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 [this message]
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
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=SA1PR11MB6846681F5D777D9DC07FF2A9CB652@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