This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: Fix powerpc64-linux inferior function calls
- From: Daniel Jacobowitz <drow at false dot org>
- To: Alan Modra <amodra at bigpond dot net dot au>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Sun, 2 Oct 2005 18:31:18 -0400
- Subject: Re: Fix powerpc64-linux inferior function calls
- References: <20050928073345.GK29044@bubble.grove.modra.org>
On Wed, Sep 28, 2005 at 05:03:45PM +0930, Alan Modra wrote:
> This gives me a gdb that can make inferior calls on powerpc64-linux when
> debugging code compiled by a gcc that doesn't provide dot-symbols.
> ppc-sysv-tdep.c:convert_code_addr_to_desc_addr needs dot-symbols to find
> the function descriptor corresponding to a given pc.
>
> It's a band-aid really. I think the proper fix is to not convert
> function pointers to function code addresses in gdb's expression
> evaluator, which would keep the pointer to the descriptor. This of
> course would mean that gdb's breakpoint and similar code expecting that
> function symbols point to code would need adjusting. One benefit would
> be that "p *func" would print me the descriptor, which is what I'd
> expect for powerpc64.
>
> PR 2016
> * elfread.c (elf_symtab_process): Split out from..
> (elf_symtab_read): ..here.
> (elf_symfile_read): Read both static and dynamic symbols before
> processing. Call bfd_get_synthetic_symtab.
Why do we need to read both before processing either? I'm thinking of
the patch I posted here:
http://sourceware.org/ml/gdb-patches/2005-06/msg00220.html
and pinged a few weeks ago.
--
Daniel Jacobowitz
CodeSourcery, LLC