2007-11-19  Andreas Schwab  <schwab@suse.de>

	* process.c (sys_ptrace) [IA64]: For PTRACE_PEEKDATA,
	PTRACE_PEEKTEXT and PTRACE_PEEKUSER the data is returned directly.
diff --git a/process.c b/process.c
index 2e192bc..3fb37ec 100644
--- a/process.c
+++ b/process.c
@@ -3058,10 +3058,12 @@
 			tprintf("%#lx, ", tcp->u_arg[2]);
 #ifdef LINUX
 		switch (tcp->u_arg[0]) {
+#ifndef IA64
 		case PTRACE_PEEKDATA:
 		case PTRACE_PEEKTEXT:
 		case PTRACE_PEEKUSER:
 			break;
+#endif
 		case PTRACE_CONT:
 		case PTRACE_SINGLESTEP:
 		case PTRACE_SYSCALL:
@@ -3077,8 +3079,12 @@
 		case PTRACE_PEEKDATA:
 		case PTRACE_PEEKTEXT:
 		case PTRACE_PEEKUSER:
+#ifdef IA64
+			return RVAL_HEX;
+#else
 			printnum(tcp, tcp->u_arg[3], "%#lx");
 			break;
+#endif
 		}
 	}
 #endif /* LINUX */