40 lines
1.4 KiB
Diff
40 lines
1.4 KiB
Diff
2005-02-07 Jeff Johnston <jjohnstn@redhat.com>
|
|
|
|
* linux-nat.c (linux_nat_xfer_memory): Don't use
|
|
linux_proc_xfer_memory for ia64 threads.
|
|
|
|
--- gdb-6.3/gdb/linux-nat.c.fix Fri Feb 4 22:52:40 2005
|
|
+++ gdb-6.3/gdb/linux-nat.c Mon Feb 7 19:56:01 2005
|
|
@@ -2381,12 +2381,31 @@ linux_nat_xfer_memory (CORE_ADDR memaddr
|
|
struct cleanup *old_chain = save_inferior_ptid ();
|
|
int xfer;
|
|
|
|
+#ifdef NATIVE_XFER_UNWIND_TABLE
|
|
+ /* FIXME: For ia64, we cannot currently use linux_proc_xfer_memory
|
|
+ for accessing thread storage. Revert when Bugzilla 147436
|
|
+ is fixed. */
|
|
+ if (is_lwp (inferior_ptid))
|
|
+ {
|
|
+ /* For lwps, we cannot use linux_proc_xfer_memory. */
|
|
+ inferior_ptid = pid_to_ptid (GET_LWP (inferior_ptid));
|
|
+ xfer = child_xfer_memory (memaddr, myaddr, len, write, attrib, target);
|
|
+ }
|
|
+ else
|
|
+ {
|
|
+ xfer = linux_proc_xfer_memory (memaddr, myaddr, len, write,
|
|
+ attrib, target);
|
|
+ if (xfer == 0)
|
|
+ xfer = child_xfer_memory (memaddr, myaddr, len, write, attrib, target);
|
|
+ }
|
|
+#else
|
|
if (is_lwp (inferior_ptid))
|
|
inferior_ptid = pid_to_ptid (GET_LWP (inferior_ptid));
|
|
|
|
xfer = linux_proc_xfer_memory (memaddr, myaddr, len, write, attrib, target);
|
|
if (xfer == 0)
|
|
xfer = child_xfer_memory (memaddr, myaddr, len, write, attrib, target);
|
|
+#endif
|
|
|
|
do_cleanups (old_chain);
|
|
return xfer;
|