Author: martin
Date: 2005-05-11 14:03:34 -0400 (Wed, 11 May 2005)
New Revision: 44403
Modified:
trunk/debugger/ChangeLog
trunk/debugger/backends/server/x86-ptrace.c
Log:
2005-05-11 Martin Baulig <[EMAIL PROTECTED]>
* backends/server/x86-ptrace.c (server_ptrace_peek_word): Make
this 64-bit safe.
Modified: trunk/debugger/ChangeLog
===================================================================
--- trunk/debugger/ChangeLog 2005-05-11 18:02:33 UTC (rev 44402)
+++ trunk/debugger/ChangeLog 2005-05-11 18:03:34 UTC (rev 44403)
@@ -1,5 +1,8 @@
2005-05-11 Martin Baulig <[EMAIL PROTECTED]>
+ * backends/server/x86-ptrace.c (server_ptrace_peek_word): Make
+ this 64-bit safe.
+
* backends/server/x86_64-arch.c: Implemented the missing bits.
2005-05-11 Martin Baulig <[EMAIL PROTECTED]>
Modified: trunk/debugger/backends/server/x86-ptrace.c
===================================================================
--- trunk/debugger/backends/server/x86-ptrace.c 2005-05-11 18:02:33 UTC (rev
44402)
+++ trunk/debugger/backends/server/x86-ptrace.c 2005-05-11 18:03:34 UTC (rev
44403)
@@ -127,9 +127,9 @@
}
static ServerCommandError
-server_ptrace_peek_word (ServerHandle *handle, guint64 start, guint32 *retval)
+server_ptrace_peek_word (ServerHandle *handle, guint64 start, guint64 *retval)
{
- return server_ptrace_read_memory (handle, start, sizeof (int), retval);
+ return server_ptrace_read_memory (handle, start, sizeof (long), retval);
}
static ServerCommandError
@@ -138,12 +138,12 @@
{
InferiorHandle *inferior = handle->inferior;
ServerCommandError result;
- const int *ptr = buffer;
+ const long *ptr = buffer;
guint64 addr = start;
- char temp [4];
+ char temp [8];
- while (size >= 4) {
- int word = *ptr++;
+ while (size >= sizeof (long)) {
+ long word = *ptr++;
errno = 0;
if (ptrace (PT_WRITE_D, inferior->pid, (gpointer) addr, word)
!= 0) {
@@ -155,19 +155,19 @@
}
}
- addr += sizeof (int);
- size -= sizeof (int);
+ addr += sizeof (long);
+ size -= sizeof (long);
}
if (!size)
return COMMAND_ERROR_NONE;
- result = server_ptrace_read_memory (handle, (guint32) addr, 4, &temp);
+ result = server_ptrace_read_memory (handle, (gpointer) addr, sizeof
(long), &temp);
if (result != COMMAND_ERROR_NONE)
return result;
memcpy (&temp, ptr, size);
- return server_ptrace_write_memory (handle, (guint32) addr, 4, &temp);
+ return server_ptrace_write_memory (handle, (gpointer) addr, sizeof
(long), &temp);
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches