From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15095 invoked by alias); 6 Jun 2003 13:11:28 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 15068 invoked from network); 6 Jun 2003 13:11:26 -0000 Received: from unknown (HELO crack.them.org) (146.82.138.56) by sources.redhat.com with SMTP; 6 Jun 2003 13:11:26 -0000 Received: from dsl093-172-017.pit1.dsl.speakeasy.net ([66.93.172.17] helo=nevyn.them.org ident=mail) by crack.them.org with asmtp (Exim 3.12 #1 (Debian)) id 19OH0p-0007EO-00; Fri, 06 Jun 2003 08:12:07 -0500 Received: from drow by nevyn.them.org with local (Exim 3.36 #1 (Debian)) id 19OH06-0005NK-00; Fri, 06 Jun 2003 09:11:22 -0400 Date: Fri, 06 Jun 2003 13:11:00 -0000 From: Daniel Jacobowitz To: Jim Blandy Cc: gdb-patches@sources.redhat.com Subject: Re: [ppc64-linux]: skip linkage functions Message-ID: <20030606131122.GA20576@nevyn.them.org> Mail-Followup-To: Jim Blandy , gdb-patches@sources.redhat.com References: <20030606000328.GA26538@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.1i X-SW-Source: 2003-06/txt/msg00231.txt.bz2 On Fri, Jun 06, 2003 at 01:22:27AM -0500, Jim Blandy wrote: > Daniel Jacobowitz writes: > > > On Thu, Jun 05, 2003 at 06:54:57PM -0500, Jim Blandy wrote: > > > > > > 2003-06-05 Jim Blandy > > > > > > Recognize and skip 64-bit PowerPC Linux linkage functions. > > > * ppc-linux-tdep.c (insn_d, insn_ds, insn_xfx, read_insn, struct > > > insn_pattern, insns_match_pattern, d_field, ds_field): New > > > functions, macros, and types for working with PPC instructions. > > > (ppc64_standard_linkage, PPC64_STANDARD_LINKAGE_LEN, > > > ppc64_in_solib_call_trampoline, ppc64_standard_linkage_target, > > > ppc64_skip_trampoline_code): New functions, variables, and macros > > > for recognizing and skipping linkage functions. > > > (ppc_linux_init_abi): Use ppc64_in_solib_call_trampoline and > > > ppc64_skip_trampoline_code for the 64-bit PowerPC Linux ABI. > > > > Hmm. Probably not good enough for our needs, but is the > > DW_AT_trampoline attribute useful here? > > I'll say it, so nobody else has to feel bad saying it: that patch is > complete shite. I just can't see any other way to do it with the info > I have. > > DW_AT_trampoline would allow me to implement in_solib_call_trampoline > and skip_trampoline_code simply by consulting the debugging info, > which would be eons better. And in generic code, to boot. The only > thing is, the trampolines are generated by the linker, not the > compiler. Could the linker contribute its own Dwarf compilation unit > to .debug_info and .debug_abbrev? How should it decide which > debugging format to use, and whether to emit anything at all? > > If we could get this working, we could start using it on other > architectures, too. Hmm. I believe it could be done. It would probably require adding a --gdwarf2 to the linker, matching the one added to GAS. It's certainly practical for the linker to add a CU. As always, it wouldn't free us from the need to grub through assembly trampolines by hand. There's always something without debug info. But it would make that code a little less important... -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer