From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28028 invoked by alias); 1 Apr 2009 20:15:52 -0000 Received: (qmail 28018 invoked by uid 22791); 1 Apr 2009 20:15:51 -0000 X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from ugmailsc.ugent.be (HELO ugmailsc.ugent.be) (157.193.49.118) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 01 Apr 2009 20:15:44 +0000 Received: from localhost (localhost [127.0.0.1]) by ugmailsc.ugent.be (Postfix) with ESMTP id 85E031CF673 for ; Wed, 1 Apr 2009 22:15:41 +0200 (CEST) Received: from ugmailsc.ugent.be ([127.0.0.1]) by localhost (ugmailsc.ugent.be [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NMZ-PT0PTNMr for ; Wed, 1 Apr 2009 22:15:41 +0200 (CEST) Received: from cypress.ugent.be (cypress.ugent.be [157.193.71.48]) by ugmailsc.ugent.be (Postfix) with ESMTP id 4F5F61CF65E for ; Wed, 1 Apr 2009 22:15:41 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAKtn00mdwc4w/2dsb2JhbADQHoN9Bg Received: from mail.elis.ugent.be ([157.193.206.48]) by relayrec.ugent.be with ESMTP; 01 Apr 2009 22:15:40 +0200 Received: from localhost (localhost [127.0.0.1]) by mail.elis.UGent.be (Postfix) with ESMTP id 23A392BAC92 for ; Wed, 1 Apr 2009 22:15:34 +0200 (CEST) Received: from [127.0.0.1] (ssh2.elis.UGent.be [157.193.206.127]) by mail.elis.UGent.be (Postfix) with ESMTP id 1359A2BAC27 for ; Wed, 1 Apr 2009 22:15:34 +0200 (CEST) Message-Id: <83CD35E6-FDD6-4A4B-A5E2-14AC30D609DA@elis.ugent.be> From: Jonas Maebe To: gdb@sourceware.org In-Reply-To: <20090401191446.GA18926@caradoc.them.org> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v926) Subject: Re: Skipping over trampolines/stubs Date: Wed, 01 Apr 2009 20:15:00 -0000 References: <4B835C7C-B28E-4552-87E0-25D803741FA3@elis.ugent.be> <20090401191446.GA18926@caradoc.them.org> X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2009-04/txt/msg00011.txt.bz2 On 01 Apr 2009, at 21:14, Daniel Jacobowitz wrote: > On Wed, Apr 01, 2009 at 09:08:11PM +0200, Jonas Maebe wrote: >>> > GDB already supports this for other languages; I suggest just adding > detection of the Free Pascal stubs to the debugger. ObjC and C++ > both have similar requirements, I believe. In C++ they're virtual > call thunks. Thanks. Given that tracing some of these stubs requires access to the parameters, I should start with adding support for the Borland fastcall calling convention to gdb. The reason is that this is our default calling convention on i386 platforms, mainly for Delphi compatibility reasons (quite a bit of unparametrised assembler code there). Which brings me to the next point: how does one go about "allocating" a new DW_AT_calling_convention value in the DW_CC_lo_user .. DW_CC_hi_user range? At first sight, there is only one such value currently in public use (DW_CC_GNU_renesas_sh). Can I just take 0x41 for DW_CC_BORLAND_fastcall_i386? And should I then submit this constant for inclusion in binutils first? Jonas