[DBGHELP]

Fix 64 bit compilation. "Should be sent to wine"(tm)

svn path=/trunk/; revision=56259
This commit is contained in:
Timo Kreuzer 2012-03-28 11:08:41 +00:00
parent 00b699d98b
commit d8e68c8aff
2 changed files with 21 additions and 5 deletions

View file

@ -281,10 +281,10 @@ static BOOL is_inside_epilog(struct cpu_stack_walk* csw, DWORD64 pc)
if ((op0 & 0xf8) == 0x48)
{
if (!sw_read_mem(csw, pc + 1, &op1, 1)) return FALSE;
if (!sw_read_mem(csw, pc + 2, &op2, 1)) return FALSE;
switch (op1)
{
case 0x81: /* add $nnnn,%rsp */
if (!sw_read_mem(csw, pc + 2, &op2, 1)) return FALSE;
if (op0 == 0x48 && op2 == 0xc4)
{
pc += 7;

View file

@ -24,3 +24,19 @@ Index: cpu_sparc.c
static unsigned sparc_get_addr(HANDLE hThread, const CONTEXT* ctx,
enum cpu_addr ca, ADDRESS64* addr)
{
Index: cpu_x86_64.c
===================================================================
--- cpu_x86_64.c (Revision 56237)
+++ cpu_x86_64.c (Arbeitskopie)
@@ -281,10 +281,10 @@
if ((op0 & 0xf8) == 0x48)
{
if (!sw_read_mem(csw, pc + 1, &op1, 1)) return FALSE;
+ if (!sw_read_mem(csw, pc + 2, &op2, 1)) return FALSE;
switch (op1)
{
case 0x81: /* add $nnnn,%rsp */
- if (!sw_read_mem(csw, pc + 2, &op2, 1)) return FALSE;
if (op0 == 0x48 && op2 == 0xc4)
{
pc += 7;