e_padlock-x86_64.pl: brown-bag bug in stack pointer handling.
authorAndy Polyakov <appro@openssl.org>
Sun, 9 Oct 2011 21:53:53 +0000 (21:53 +0000)
committerAndy Polyakov <appro@openssl.org>
Sun, 9 Oct 2011 21:53:53 +0000 (21:53 +0000)
engines/asm/e_padlock-x86_64.pl

index ad61974988155beed15c27a1c27851dc98311d4e..db79a62ad624f22105febb794778caa4862c8dbc 100644 (file)
@@ -158,6 +158,7 @@ padlock_sha1_oneshot:
        .byte   0xf3,0x0f,0xa6,0xc8     # rep xsha1
        movaps  (%rsp),%xmm0
        mov     16(%rsp),%eax
+       add     \$128+8,%rsp
        movups  %xmm0,(%rdx)            # copy-out context
        mov     %eax,16(%rdx)
        ret
@@ -179,6 +180,7 @@ padlock_sha1_blocks:
        .byte   0xf3,0x0f,0xa6,0xc8     # rep xsha1
        movaps  (%rsp),%xmm0
        mov     16(%rsp),%eax
+       add     \$128+8,%rsp
        movups  %xmm0,(%rdx)            # copy-out context
        mov     %eax,16(%rdx)
        ret
@@ -200,6 +202,7 @@ padlock_sha256_oneshot:
        .byte   0xf3,0x0f,0xa6,0xd0     # rep xsha256
        movaps  (%rsp),%xmm0
        movaps  16(%rsp),%xmm1
+       add     \$128+8,%rsp
        movups  %xmm0,(%rdx)            # copy-out context
        movups  %xmm1,16(%rdx)
        ret
@@ -221,6 +224,7 @@ padlock_sha256_blocks:
        .byte   0xf3,0x0f,0xa6,0xd0     # rep xsha256
        movaps  (%rsp),%xmm0
        movaps  16(%rsp),%xmm1
+       add     \$128+8,%rsp
        movups  %xmm0,(%rdx)            # copy-out context
        movups  %xmm1,16(%rdx)
        ret
@@ -247,6 +251,7 @@ padlock_sha512_blocks:
        movaps  16(%rsp),%xmm1
        movaps  32(%rsp),%xmm2
        movaps  48(%rsp),%xmm3
+       add     \$128+8,%rsp
        movups  %xmm0,(%rdx)            # copy-out context
        movups  %xmm1,16(%rdx)
        movups  %xmm2,32(%rdx)