From d8d1d4ceab9707f6acdee137e51160726bca9983 Mon Sep 17 00:00:00 2001 From: Jim Blandy Date: Sat, 7 Jun 2003 00:06:05 +0000 Subject: [PATCH] * ppc-linux-tdep.c (ppc64_desc_entry_point): New function. (ppc64_standard_linkage_target): Use it. --- gdb/ChangeLog | 3 +++ gdb/ppc-linux-tdep.c | 12 +++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1e88daf5f9a..e053db752b2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,8 @@ 2003-06-06 Jim Blandy + * ppc-linux-tdep.c (ppc64_desc_entry_point): New function. + (ppc64_standard_linkage_target): Use it. + * ppc-linux-nat.c (ppc_register_u_addr): Correctly compute u-area offsets for floating-point registers in both 32- and 64-bit interfaces. diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c index 0000101c262..900a8d91ee0 100644 --- a/gdb/ppc-linux-tdep.c +++ b/gdb/ppc-linux-tdep.c @@ -730,6 +730,16 @@ insn_ds_field (unsigned int insn) } +/* If DESC is the address of a 64-bit PowerPC Linux function + descriptor, return the descriptor's entry point. */ +static CORE_ADDR +ppc64_desc_entry_point (CORE_ADDR desc) +{ + /* The first word of the descriptor is the entry point. */ + return (CORE_ADDR) read_memory_unsigned_integer (desc, 8); +} + + /* Pattern for the standard linkage function. These are built by build_plt_stub in elf64-ppc.c, whose GLINK argument is always zero. */ @@ -864,7 +874,7 @@ ppc64_standard_linkage_target (CORE_ADDR pc, unsigned int *insn) + insn_ds_field (insn[2])); /* The first word of the descriptor is the entry point. Return that. */ - return (CORE_ADDR) read_memory_unsigned_integer (desc, 8); + return ppc64_desc_entry_point (desc); } -- 2.47.2