RFA: New function to read a descriptor's entry point

Jim Blandy jimb@redhat.com
Fri Jun 13 23:01:00 GMT 2003


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);
  }
  
  



More information about the Gdb-patches mailing list