This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[rfa:ppc64] Use target in convert_from_func_ptr_addr


Hello,

The attached rewrites the PPC64 GNU/Linux convert_from_func_ptr_addr method so that it makes use of the explicit "struct target_ops" parameter I recently added (previously it was indirectly using current_target).

ok?
Andrew
2003-10-17  Andrew Cagney  <cagney@redhat.com>

	* ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr):
	Rewrite to use target_ops when transfering memory.

Index: ppc-linux-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/ppc-linux-tdep.c,v
retrieving revision 1.44
diff -u -r1.44 ppc-linux-tdep.c
--- ppc-linux-tdep.c	22 Oct 2003 23:54:11 -0000	1.44
+++ ppc-linux-tdep.c	23 Oct 2003 01:32:51 -0000
@@ -936,14 +936,14 @@
 					CORE_ADDR addr,
 					struct target_ops *targ)
 {
-  struct obj_section *s;
-
-  s = find_pc_section (addr);
-
-  /* Check if ADDR points to a function descriptor.  */
-  if (s && strcmp (s->the_bfd_section->name, ".opd") == 0)
-    return read_memory_unsigned_integer (addr, 8);
-
+  struct section_table *s = target_section_by_addr (targ, addr);
+  if (s != NULL && s->the_bfd_section != NULL
+      && strcmp (s->the_bfd_section->name, ".opd") == 0)
+    {
+      char desc[8];
+      target_read (targ, TARGET_OBJECT_MEMORY, NULL, desc, addr, 8);
+      return extract_unsigned_integer (desc, 8);
+    }
   return addr;
 }
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]