This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] OSF/1 - "next" over prologueless function call
- From: Richard Henderson <rth at redhat dot com>
- To: Joel Brobecker <brobecker at gnat dot com>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Mon, 1 Dec 2003 22:35:32 -0800
- Subject: Re: [RFA] OSF/1 - "next" over prologueless function call
- References: <20031202042646.GW1186@gnat.com>
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.
And yes indeed, the gnu tools do this same optimization. Both at
compile time and link time.
r~