diff options
Diffstat (limited to 'meta/packages/openssl/openssl-0.9.8g/fix-md5-x86_64.patch')
-rw-r--r-- | meta/packages/openssl/openssl-0.9.8g/fix-md5-x86_64.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/meta/packages/openssl/openssl-0.9.8g/fix-md5-x86_64.patch b/meta/packages/openssl/openssl-0.9.8g/fix-md5-x86_64.patch new file mode 100644 index 0000000000..05b48ab110 --- /dev/null +++ b/meta/packages/openssl/openssl-0.9.8g/fix-md5-x86_64.patch | |||
@@ -0,0 +1,47 @@ | |||
1 | Fix for building md5-x86_64.pl with recent gcc and binutils (as first discovered | ||
2 | on my Fedora 13 machine). | ||
3 | |||
4 | Patch taken from upstream bug tracker: | ||
5 | http://rt.openssl.org/Ticket/Display.html?id=2094&user=guest&pass=guest | ||
6 | |||
7 | This issue is marked as resolved upstream (on 13/11/2009) so we should be able | ||
8 | to remove this patch when we update openssl. | ||
9 | |||
10 | JL - 07/05/2010 | ||
11 | |||
12 | Index: openssl-0.9.8g/crypto/md5/asm/md5-x86_64.pl | ||
13 | =================================================================== | ||
14 | --- openssl-0.9.8g.orig/crypto/md5/asm/md5-x86_64.pl 2010-05-07 00:24:16.000000000 +0100 | ||
15 | +++ openssl-0.9.8g/crypto/md5/asm/md5-x86_64.pl 2010-05-07 00:26:25.639809341 +0100 | ||
16 | @@ -19,6 +19,7 @@ | ||
17 | sub round1_step | ||
18 | { | ||
19 | my ($pos, $dst, $x, $y, $z, $k_next, $T_i, $s) = @_; | ||
20 | + $T_i = unpack("l",pack("l", hex($T_i))); # convert to 32-bit signed decimal | ||
21 | $code .= " mov 0*4(%rsi), %r10d /* (NEXT STEP) X[0] */\n" if ($pos == -1); | ||
22 | $code .= " mov %edx, %r11d /* (NEXT STEP) z' = %edx */\n" if ($pos == -1); | ||
23 | $code .= <<EOF; | ||
24 | @@ -42,6 +43,7 @@ | ||
25 | sub round2_step | ||
26 | { | ||
27 | my ($pos, $dst, $x, $y, $z, $k_next, $T_i, $s) = @_; | ||
28 | + $T_i = unpack("l",pack("l", hex($T_i))); # convert to 32-bit signed decimal | ||
29 | $code .= " mov 1*4(%rsi), %r10d /* (NEXT STEP) X[1] */\n" if ($pos == -1); | ||
30 | $code .= " mov %ecx, %r11d /* (NEXT STEP) y' = %ecx */\n" if ($pos == -1); | ||
31 | $code .= <<EOF; | ||
32 | @@ -65,6 +67,7 @@ | ||
33 | sub round3_step | ||
34 | { | ||
35 | my ($pos, $dst, $x, $y, $z, $k_next, $T_i, $s) = @_; | ||
36 | + $T_i = unpack("l",pack("l", hex($T_i))); # convert to 32-bit signed decimal | ||
37 | $code .= " mov 5*4(%rsi), %r10d /* (NEXT STEP) X[5] */\n" if ($pos == -1); | ||
38 | $code .= " mov %ecx, %r11d /* (NEXT STEP) y' = %ecx */\n" if ($pos == -1); | ||
39 | $code .= <<EOF; | ||
40 | @@ -87,6 +90,7 @@ | ||
41 | sub round4_step | ||
42 | { | ||
43 | my ($pos, $dst, $x, $y, $z, $k_next, $T_i, $s) = @_; | ||
44 | + $T_i = unpack("l",pack("l", hex($T_i))); # convert to 32-bit signed decimal | ||
45 | $code .= " mov 0*4(%rsi), %r10d /* (NEXT STEP) X[0] */\n" if ($pos == -1); | ||
46 | $code .= " mov \$0xffffffff, %r11d\n" if ($pos == -1); | ||
47 | $code .= " xor %edx, %r11d /* (NEXT STEP) not z' = not %edx*/\n" | ||