From: Aleksey Demakov Date: Sun, 8 Jan 2006 04:25:24 +0000 (+0000) Subject: change jit_builtin_return_int to use leal instead of movl X-Git-Tag: r.0.0.6~8 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=5492f5aa5593e0a0d0a68431a401a2e825ef775d;p=francis%2Flibjit.git change jit_builtin_return_int to use leal instead of movl --- 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; \