summaryrefslogtreecommitdiff
path: root/meta
diff options
context:
space:
mode:
Diffstat (limited to 'meta')
-rw-r--r--meta/packages/openssl/openssl-0.9.8g/fix-md5-x86_64.patch47
-rw-r--r--meta/packages/openssl/openssl_0.9.8g.bb3
2 files changed, 49 insertions, 1 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 000000000..05b48ab11
--- /dev/null
+++ b/meta/packages/openssl/openssl-0.9.8g/fix-md5-x86_64.patch
@@ -0,0 +1,47 @@
+Fix for building md5-x86_64.pl with recent gcc and binutils (as first discovered
+on my Fedora 13 machine).
+
+Patch taken from upstream bug tracker:
+http://rt.openssl.org/Ticket/Display.html?id=2094&user=guest&pass=guest
+
+This issue is marked as resolved upstream (on 13/11/2009) so we should be able
+to remove this patch when we update openssl.
+
+JL - 07/05/2010
+
+Index: openssl-0.9.8g/crypto/md5/asm/md5-x86_64.pl
+===================================================================
+--- openssl-0.9.8g.orig/crypto/md5/asm/md5-x86_64.pl 2010-05-07 00:24:16.000000000 +0100
++++ openssl-0.9.8g/crypto/md5/asm/md5-x86_64.pl 2010-05-07 00:26:25.639809341 +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"
diff --git a/meta/packages/openssl/openssl_0.9.8g.bb b/meta/packages/openssl/openssl_0.9.8g.bb
index 9abbbdce0..01fa6c9d2 100644
--- a/meta/packages/openssl/openssl_0.9.8g.bb
+++ b/meta/packages/openssl/openssl_0.9.8g.bb
@@ -1,9 +1,10 @@
require openssl.inc
-PR = "r10"
+PR = "r11"
SRC_URI += "file://debian.patch;patch=1 \
file://configure-targets.patch;patch=1 \
+ file://fix-md5-x86_64.patch;patch=1 \
file://shared-libs.patch;patch=1"
BBCLASSEXTEND = "native"