28fdd94
2005-02-07  Jeff Johnston  <jjohnstn@redhat.com>
20b150b
28fdd94
        * linux-nat.c (linux_nat_xfer_memory): Don't use
9dde329
        linux_proc_xfer_memory for ia64.
20b150b
20b150b
--- gdb-6.3/gdb/linux-nat.c.fix	Fri Feb  4 22:52:40 2005
9dde329
+++ gdb-6.3/gdb/linux-nat.c	Tue Feb  8 15:49:09 2005
9dde329
@@ -2381,12 +2381,22 @@ linux_nat_xfer_memory (CORE_ADDR memaddr
28fdd94
   struct cleanup *old_chain = save_inferior_ptid ();
20b150b
   int xfer;
20b150b
 
28fdd94
+#ifdef NATIVE_XFER_UNWIND_TABLE
28fdd94
+  /* FIXME: For ia64, we cannot currently use linux_proc_xfer_memory
28fdd94
+            for accessing thread storage.  Revert when Bugzilla 147436
28fdd94
+	    is fixed.  */
28fdd94
+  if (is_lwp (inferior_ptid))
9dde329
+    inferior_ptid = pid_to_ptid (GET_LWP (inferior_ptid));
9dde329
+
9dde329
+  xfer = child_xfer_memory (memaddr, myaddr, len, write, attrib, target);
28fdd94
+#else
28fdd94
   if (is_lwp (inferior_ptid))
28fdd94
     inferior_ptid = pid_to_ptid (GET_LWP (inferior_ptid));
28fdd94
 
28fdd94
   xfer = linux_proc_xfer_memory (memaddr, myaddr, len, write, attrib, target);
28fdd94
   if (xfer == 0)
28fdd94
     xfer = child_xfer_memory (memaddr, myaddr, len, write, attrib, target);
28fdd94
+#endif
20b150b
 
20b150b
   do_cleanups (old_chain);
20b150b
   return xfer;