mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-13 02:45:02 +08:00
* ppc-linux-tdep.c (ppc64_call_dummy_address): New function.
(ppc_linux_init_abi): Set it as the gdbarch's call_dummy_address method.
This commit is contained in:
@ -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);
|
||||
|
Reference in New Issue
Block a user