From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13965 invoked by alias); 2 Dec 2003 13:55:21 -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 13956 invoked from network); 2 Dec 2003 13:55:20 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 2 Dec 2003 13:55:20 -0000 Received: from drow by nevyn.them.org with local (Exim 4.24 #1 (Debian)) id 1ARAzk-0004xN-O6; Tue, 02 Dec 2003 08:55:16 -0500 Date: Tue, 02 Dec 2003 13:55:00 -0000 From: Daniel Jacobowitz To: Richard Henderson Cc: Joel Brobecker , gdb-patches@sources.redhat.com Subject: Re: [RFA] OSF/1 - "next" over prologueless function call Message-ID: <20031202135516.GA18934@nevyn.them.org> Mail-Followup-To: Richard Henderson , Joel Brobecker , gdb-patches@sources.redhat.com References: <20031202042646.GW1186@gnat.com> <20031202063532.GC31561@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20031202063532.GC31561@redhat.com> User-Agent: Mutt/1.5.1i X-SW-Source: 2003-12/txt/msg00047.txt.bz2 On Mon, Dec 01, 2003 at 10:35:32PM -0800, Richard Henderson wrote: > On Mon, Dec 01, 2003 at 08:26:46PM -0800, Joel Brobecker wrote: > > + if (pc == func_start) > > + return 1; > > + > > + if (pc == func_start + 8) > > + { > > + unsigned int inst; > > + > > + /* ldah $gp,n($t12) */ > > + inst = alpha_read_insn (func_start); > > + if ((inst & 0xffff0000) != 0x27bb0000) > > + return 0; > > + > > + /* lda $gp,n($gp) */ > > + inst = alpha_read_insn (func_start + 4); > > + if ((inst & 0xffff0000) != 0x23bd0000) > > + return 0; > > Is there any chance we could get hold of the symbol associated with > this function start? On ELF detecting this condition can be > streamlined to > > sym->st_other & STO_ALPHA_STD_GPLOAD == STO_ALPHA_STD_GPLOAD > > or from bfd, elf_link_hash_entry.other, though I don't remember off > the top of my head how to get at the elf hash entry from asymbol. I don't think you can. They're not added to a link hash table unless you're actually linking. It looks like there's no way to go from the asymbol to the ELF symbol either, and st_other isn't stashed anywhere. > And yes indeed, the gnu tools do this same optimization. Both at > compile time and link time. > > > r~ > -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer