From 5492f5aa5593e0a0d0a68431a401a2e825ef775d Mon Sep 17 00:00:00 2001 From: Aleksey Demakov Date: Sun, 8 Jan 2006 04:25:24 +0000 Subject: [PATCH] change jit_builtin_return_int to use leal instead of movl --- ChangeLog | 6 ++++++ jit/jit-apply-x86.h | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3032193..01714b7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-01-08 Aleksey Demakov + + * jit/jit-apply-x86.h (jit_builtin_return_int): change definition + to dereference the return_buf argument and use leal instead of movl. + This fixes builds with gcc 4.0.2. + 2005-12-28 Aleksey Demakov * jit/jit-rules-x86.sel: implement JIT_OP_MEMMOVE rule. Get rid of diff --git a/jit/jit-apply-x86.h b/jit/jit-apply-x86.h index 7673363..4cc9234 100644 --- a/jit/jit-apply-x86.h +++ b/jit/jit-apply-x86.h @@ -104,10 +104,10 @@ #define jit_builtin_return_int(return_buf) \ do { \ __asm__ ( \ - "movl %0, %%ecx\n\t" \ + "leal %0, %%ecx\n\t" \ "movl (%%ecx), %%eax\n\t" \ "movl 4(%%ecx), %%edx\n\t" \ - : : "m"((return_buf)) \ + : : "m"(*(return_buf)) \ : "eax", "ecx", "edx" \ ); \ return; \ @@ -214,10 +214,10 @@ #define jit_builtin_return_int(return_buf) \ do { \ __asm__ ( \ - "movl %0, %%ecx\n\t" \ + "leal %0, %%ecx\n\t" \ "movl (%%ecx), %%eax\n\t" \ "movl 4(%%ecx), %%edx\n\t" \ - : : "m"((return_buf)) \ + : : "m"(*(return_buf)) \ : "eax", "ecx", "edx" \ ); \ return; \ -- 2.47.3