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

Reply via email to