[RFA] OSF/1 - "next" over prologueless function call
Richard Henderson
rth@redhat.com
Tue Dec 2 06:35:00 GMT 2003
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~
More information about the Gdb-patches
mailing list