[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openssl-cvs
Subject:    [CVS] OpenSSL: OpenSSL_0_9_8-stable: openssl/crypto/aes/asm/ aes-x86_6...
From:       "Andy Polyakov" <appro () openssl ! org>
Date:       2010-05-30 22:02:04
Message-ID: 20100530220204.3B2F21EAE951 () master ! openssl ! org
[Download RAW message or body]

  OpenSSL CVS Repository
  http://cvs.openssl.org/
  ____________________________________________________________________________

  Server: cvs.openssl.org                  Name:   Andy Polyakov
  Root:   /v/openssl/cvs                   Email:  appro@openssl.org
  Module: openssl                          Date:   31-May-2010 00:02:04
  Branch: OpenSSL_0_9_8-stable             Handle: 2010053023020300

  Modified files:           (Branch: OpenSSL_0_9_8-stable)
    openssl/crypto/aes/asm  aes-x86_64.pl

  Log:
    098 aes-x86_64.pl module was erroneously enabled in Win64 build without
    being adapted for Win64 ABI. Fix this.

  Summary:
    Revision    Changes     Path
    1.12.2.7    +25 -13     openssl/crypto/aes/asm/aes-x86_64.pl
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openssl/crypto/aes/asm/aes-x86_64.pl
  ============================================================================
  $ cvs diff -u -r1.12.2.6 -r1.12.2.7 aes-x86_64.pl
  --- openssl/crypto/aes/asm/aes-x86_64.pl	17 Jan 2010 19:43:49 -0000	1.12.2.6
  +++ openssl/crypto/aes/asm/aes-x86_64.pl	30 May 2010 22:02:03 -0000	1.12.2.7
  @@ -751,7 +751,19 @@
   AES_set_encrypt_key:
   	push	%rbx
   	push	%rbp
  +	sub	\$8,%rsp
   
  +	call	_x86_64_AES_set_encrypt_key
  +
  +	mov	8(%rsp),%rbp
  +	mov	16(%rsp),%rbx
  +	add	\$24,%rsp
  +	ret
  +.size	AES_set_encrypt_key,.-AES_set_encrypt_key
  +
  +.type	_x86_64_AES_set_encrypt_key,\@abi-omnipotent
  +.align	16
  +_x86_64_AES_set_encrypt_key:
   	mov	%esi,%ecx			# %ecx=bits
   	mov	%rdi,%rsi			# %rsi=userKey
   	mov	%rdx,%rdi			# %rdi=key
  @@ -938,10 +950,8 @@
   .Lbadpointer:
   	mov	\$-1,%rax
   .Lexit:
  -	pop	%rbp
  -	pop	%rbx
  -	ret
  -.size	AES_set_encrypt_key,.-AES_set_encrypt_key
  +	.byte	0xf3,0xc3		# rep ret
  +.size	_x86_64_AES_set_encrypt_key,.-_x86_64_AES_set_encrypt_key
   ___
   
   sub deckey()
  @@ -973,15 +983,14 @@
   .type	AES_set_decrypt_key,\@function,3
   .align	16
   AES_set_decrypt_key:
  -	push	%rdx
  -	call	AES_set_encrypt_key
  -	cmp	\$0,%eax
  -	je	.Lproceed
  -	lea	24(%rsp),%rsp
  -	ret
  -.Lproceed:
  +	push	%rbx
  +	push	%rbp
  +	push	%rdx			# save key schedule
  +
  +	call	_x86_64_AES_set_encrypt_key
   	mov	(%rsp),%r8		# restore key schedule
  -	mov	%rbx,(%rsp)
  +	cmp	\$0,%eax
  +	jne	.Labort
   
   	mov	240(%r8),%ecx		# pull number of rounds
   	xor	%rdi,%rdi
  @@ -1023,7 +1032,10 @@
   	jnz	.Lpermute
   
   	xor	%rax,%rax
  -	pop	%rbx
  +.Labort:
  +	mov	8(%rsp),%rbp
  +	mov	16(%rsp),%rbx
  +	add	\$24,%rsp
   	ret
   .size	AES_set_decrypt_key,.-AES_set_decrypt_key
   ___
  @@ .
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
CVS Repository Commit List                     openssl-cvs@openssl.org
Automated List Manager                           majordomo@openssl.org
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic