[commit: Win32] master: Fix DebugApi on Win64 (b9c5356)
Ian Lynagh
igloo at earth.li
Sat Mar 17 17:09:04 CET 2012
Repository : ssh://darcs.haskell.org//srv/darcs/packages/Win32
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/b9c5356e659ff8d470a3e092c18a01d1d0b61b57
>---------------------------------------------------------------
commit b9c5356e659ff8d470a3e092c18a01d1d0b61b57
Author: Ian Lynagh <igloo at earth.li>
Date: Thu Mar 15 23:10:52 2012 +0000
Fix DebugApi on Win64
>---------------------------------------------------------------
System/Win32/DebugApi.hsc | 24 +++++++++++++++++++++---
1 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/System/Win32/DebugApi.hsc b/System/Win32/DebugApi.hsc
index 39c77b1..bfe71f1 100644
--- a/System/Win32/DebugApi.hsc
+++ b/System/Win32/DebugApi.hsc
@@ -287,12 +287,10 @@ withThreadContext t act =
(act buf)
+#if __i386__
eax, ebx, ecx, edx :: Int
esi, edi :: Int
ebp, eip, esp :: Int
-segCs, segDs, segEs, segFs, segGs :: Int
-eFlags :: Int
-
eax = (#offset CONTEXT, Eax)
ebx = (#offset CONTEXT, Ebx)
ecx = (#offset CONTEXT, Ecx)
@@ -302,11 +300,31 @@ edi = (#offset CONTEXT, Edi)
ebp = (#offset CONTEXT, Ebp)
eip = (#offset CONTEXT, Eip)
esp = (#offset CONTEXT, Esp)
+#elif __x86_64__
+rax, rbx, rcx, rdx :: Int
+rsi, rdi :: Int
+rbp, rip, rsp :: Int
+rax = (#offset CONTEXT, Rax)
+rbx = (#offset CONTEXT, Rbx)
+rcx = (#offset CONTEXT, Rcx)
+rdx = (#offset CONTEXT, Rdx)
+rsi = (#offset CONTEXT, Rsi)
+rdi = (#offset CONTEXT, Rdi)
+rbp = (#offset CONTEXT, Rbp)
+rip = (#offset CONTEXT, Rip)
+rsp = (#offset CONTEXT, Rsp)
+#else
+#error Unsupported architecture
+#endif
+
+segCs, segDs, segEs, segFs, segGs :: Int
segCs = (#offset CONTEXT, SegCs)
segDs = (#offset CONTEXT, SegDs)
segEs = (#offset CONTEXT, SegEs)
segFs = (#offset CONTEXT, SegFs)
segGs = (#offset CONTEXT, SegGs)
+
+eFlags :: Int
eFlags = (#offset CONTEXT, EFlags)
dr :: Int -> Int
More information about the Cvs-libraries
mailing list