Browse Source

* ppc-linux-tdep.c (ppc64_call_dummy_address): New function.

(ppc_linux_init_abi): Set it as the gdbarch's call_dummy_address
method.
ezannoni_pie-20030916-branch
Jim Blandy 23 years ago
parent
commit
e716d87a00
  1. 4
      gdb/ChangeLog
  2. 14
      gdb/ppc-linux-tdep.c

4
gdb/ChangeLog

@ -1,5 +1,9 @@
2003-06-24 Jim Blandy <jimb@redhat.com>
* ppc-linux-tdep.c (ppc64_call_dummy_address): New function.
(ppc_linux_init_abi): Set it as the gdbarch's call_dummy_address
method.
* ppc-linux-tdep.c (ppc64_desc_entry_point): New function.
(ppc64_standard_linkage_target): Use it.

14
gdb/ppc-linux-tdep.c

@ -894,6 +894,18 @@ ppc64_skip_trampoline_code (CORE_ADDR pc)
}
/* On 64-bit PowerPC Linux, the ELF header's e_entry field is the
address of a function descriptor for the entry point function, not
the actual entry point itself. So to find the actual address at
which execution should begin, we need to fetch the function's entry
point from that descriptor. */
static CORE_ADDR
ppc64_call_dummy_address (void)
{
return ppc64_desc_entry_point (entry_point_address ());
}
enum {
ELF_NGREG = 48,
ELF_NFPREG = 33,
@ -1015,6 +1027,8 @@ ppc_linux_init_abi (struct gdbarch_info info,
if (tdep->wordsize == 8)
{
set_gdbarch_call_dummy_address (gdbarch, ppc64_call_dummy_address);
set_gdbarch_in_solib_call_trampoline
(gdbarch, ppc64_in_solib_call_trampoline);
set_gdbarch_skip_trampoline_code (gdbarch, ppc64_skip_trampoline_code);

Loading…
Cancel
Save