This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
RFA: New function to read a descriptor's entry point
- From: Jim Blandy <jimb at redhat dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: 13 Jun 2003 18:01:31 -0500
- Subject: RFA: New function to read a descriptor's entry point
This is a trivial wrapper around read_memory_unsigned_integer, but
it's a bit clearer *why* one is reading that word if you use it.
2003-06-06 Jim Blandy <jimb@redhat.com>
* ppc-linux-tdep.c (ppc64_desc_entry_point): New function.
(ppc64_standard_linkage_target): Use it.
Index: gdb/ppc-linux-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/ppc-linux-tdep.c,v
retrieving revision 1.28.8.4
diff -c -r1.28.8.4 ppc-linux-tdep.c
*** gdb/ppc-linux-tdep.c 5 Jun 2003 23:53:03 -0000 1.28.8.4
--- gdb/ppc-linux-tdep.c 6 Jun 2003 23:54:31 -0000
***************
*** 730,735 ****
--- 730,745 ----
}
+ /* 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,870 ****
+ 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);
}
--- 874,880 ----
+ insn_ds_field (insn[2]));
/* The first word of the descriptor is the entry point. Return that. */
! return ppc64_desc_entry_point (desc);
}