]> git.sesse.net Git - x264/commitdiff
checkasm: Fix stack alignment bug
authorHenrik Gramner <henrik@gramner.com>
Fri, 10 May 2013 11:55:32 +0000 (13:55 +0200)
committerFiona Glaser <fiona@x264.com>
Fri, 17 May 2013 16:26:45 +0000 (09:26 -0700)
tools/checkasm-a.asm
tools/checkasm.c

index 7b39d93c484d37050eeb89ef2ba193e65029bc50..de33043763db36b30ef1f0260b1a1b22d6dca34b 100644 (file)
@@ -207,8 +207,12 @@ cglobal checkasm_call, 1,7
 ; int x264_stack_pagealign( int (*func)(), int align )
 ;-----------------------------------------------------------------------------
 cglobal stack_pagealign, 2,2
+    movsxdifnidn r1, r1d
     push rbp
     mov  rbp, rsp
+%if WIN64
+    sub  rsp, 32 ; shadow space
+%endif
     and  rsp, ~0xfff
     sub  rsp, r1
     call r0
index 1173126a6b1edf43ac0ee3523335f7b5da47ebad..a2ec75c831f1e3b0d09c206cd7ff5c16bdb97006 100644 (file)
@@ -2686,7 +2686,7 @@ int main(int argc, char *argv[])
             fprintf( stderr, "%d/%d\r", i+1, BENCH_ALIGNS );
         }
     else
-        ret = check_all_flags();
+        ret = x264_stack_pagealign( check_all_flags, 0 );
 
     if( ret )
     {