packages: openssl/openssl-x86_64-asm.patch (NEW) - x86_64 asm fixes
arekm
arekm at pld-linux.org
Thu Nov 12 13:57:07 CET 2009
Author: arekm Date: Thu Nov 12 12:57:07 2009 GMT
Module: packages Tag: HEAD
---- Log message:
- x86_64 asm fixes
---- Files affected:
packages/openssl:
openssl-x86_64-asm.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/openssl/openssl-x86_64-asm.patch
diff -u /dev/null packages/openssl/openssl-x86_64-asm.patch:1.1
--- /dev/null Thu Nov 12 13:57:07 2009
+++ packages/openssl/openssl-x86_64-asm.patch Thu Nov 12 13:57:01 2009
@@ -0,0 +1,56 @@
+diff -ur openssl-0.9.8l.org/crypto/md5/asm/md5-x86_64.pl openssl-0.9.8l/crypto/md5/asm/md5-x86_64.pl
+--- openssl-0.9.8l.org/crypto/md5/asm/md5-x86_64.pl 2007-11-11 14:34:06.000000000 +0100
++++ openssl-0.9.8l/crypto/md5/asm/md5-x86_64.pl 2009-11-06 23:23:15.528442820 +0100
+@@ -19,6 +19,7 @@
+ sub round1_step
+ {
+ my ($pos, $dst, $x, $y, $z, $k_next, $T_i, $s) = @_;
++ $T_i = unpack("l",pack("l", hex($T_i))); # convert to 32-bit signed decimal
+ $code .= " mov 0*4(%rsi), %r10d /* (NEXT STEP) X[0] */\n" if ($pos == -1);
+ $code .= " mov %edx, %r11d /* (NEXT STEP) z' = %edx */\n" if ($pos == -1);
+ $code .= <<EOF;
+@@ -42,6 +43,7 @@
+ sub round2_step
+ {
+ my ($pos, $dst, $x, $y, $z, $k_next, $T_i, $s) = @_;
++ $T_i = unpack("l",pack("l", hex($T_i))); # convert to 32-bit signed decimal
+ $code .= " mov 1*4(%rsi), %r10d /* (NEXT STEP) X[1] */\n" if ($pos == -1);
+ $code .= " mov %ecx, %r11d /* (NEXT STEP) y' = %ecx */\n" if ($pos == -1);
+ $code .= <<EOF;
+@@ -65,6 +67,7 @@
+ sub round3_step
+ {
+ my ($pos, $dst, $x, $y, $z, $k_next, $T_i, $s) = @_;
++ $T_i = unpack("l",pack("l", hex($T_i))); # convert to 32-bit signed decimal
+ $code .= " mov 5*4(%rsi), %r10d /* (NEXT STEP) X[5] */\n" if ($pos == -1);
+ $code .= " mov %ecx, %r11d /* (NEXT STEP) y' = %ecx */\n" if ($pos == -1);
+ $code .= <<EOF;
+@@ -87,6 +90,7 @@
+ sub round4_step
+ {
+ my ($pos, $dst, $x, $y, $z, $k_next, $T_i, $s) = @_;
++ $T_i = unpack("l",pack("l", hex($T_i))); # convert to 32-bit signed decimal
+ $code .= " mov 0*4(%rsi), %r10d /* (NEXT STEP) X[0] */\n" if ($pos == -1);
+ $code .= " mov \$0xffffffff, %r11d\n" if ($pos == -1);
+ $code .= " xor %edx, %r11d /* (NEXT STEP) not z' = not %edx*/\n"
+
+--- openssl-0.9.8l/crypto/sha/asm/sha1-x86_64.pl-x 2007-11-11 14:56:47.000000000 +0100
++++ openssl-0.9.8l/crypto/sha/asm/sha1-x86_64.pl 2009-11-12 13:52:12.350872046 +0100
+@@ -143,7 +143,7 @@
+ sub BODY_20_39 {
+ my ($i,$a,$b,$c,$d,$e,$f)=@_;
+ my $j=$i+1;
+-my $K=($i<40)?0x6ed9eba1:0xca62c1d6;
++my $K=($i<40)?0x6ed9eba1:-0x359d3e2a;
+ $code.=<<___ if ($i<79);
+ lea $K($xi,$e),$f
+ mov `4*($j%16)`(%rsp),$xi
+@@ -180,7 +180,7 @@
+ my ($i,$a,$b,$c,$d,$e,$f)=@_;
+ my $j=$i+1;
+ $code.=<<___;
+- lea 0x8f1bbcdc($xi,$e),$f
++ lea -0x70e44324($xi,$e),$f
+ mov `4*($j%16)`(%rsp),$xi
+ mov $b,$t0
+ mov $b,$t1
================================================================
More information about the pld-cvs-commit
mailing list