|
From: <sv...@va...> - 2005-07-19 18:19:57
|
Author: tom
Date: 2005-07-19 19:19:48 +0100 (Tue, 19 Jul 2005)
New Revision: 4193
Log:
Make attaching a debugger work on amd64.
Modified:
trunk/coregrind/m_debugger.c
Modified: trunk/coregrind/m_debugger.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_debugger.c 2005-07-19 17:59:24 UTC (rev 4192)
+++ trunk/coregrind/m_debugger.c 2005-07-19 18:19:48 UTC (rev 4193)
@@ -67,7 +67,26 @@
=20
return ptrace(PTRACE_SETREGS, pid, NULL, ®s);
#elif defined(VGA_amd64)
- I_die_here;
+ regs.rax =3D vex->guest_RAX;
+ regs.rbx =3D vex->guest_RBX;
+ regs.rcx =3D vex->guest_RCX;
+ regs.rdx =3D vex->guest_RDX;
+ regs.rsi =3D vex->guest_RSI;
+ regs.rdi =3D vex->guest_RDI;
+ regs.rbp =3D vex->guest_RBP;
+ regs.rsp =3D vex->guest_RSP;
+ regs.r8 =3D vex->guest_R8;
+ regs.r9 =3D vex->guest_R9;
+ regs.r10 =3D vex->guest_R10;
+ regs.r11 =3D vex->guest_R11;
+ regs.r12 =3D vex->guest_R12;
+ regs.r13 =3D vex->guest_R13;
+ regs.r14 =3D vex->guest_R14;
+ regs.r15 =3D vex->guest_R15;
+ regs.eflags =3D LibVEX_GuestAMD64_get_rflags(vex);
+ regs.rip =3D vex->guest_RIP;
+
+ return ptrace(PTRACE_SETREGS, pid, NULL, ®s);
#elif defined(VGA_ppc32)
I_die_here;
regs.gpr[0] =3D 0; // stop compiler complaints
|