summaryrefslogtreecommitdiffstats
path: root/meta/packages/openssl
diff options
context:
space:
mode:
authorJoshua Lock <josh@linux.intel.com>2010-05-07 00:41:15 +0100
committerJoshua Lock <josh@linux.intel.com>2010-05-07 00:45:38 +0100
commitc89362c767ba3255358f5bf5630bdef8cb3d107d (patch)
treec554d77ccd3d59af06b471abb02a8c3f00e2f51c /meta/packages/openssl
parent229c80ad19cd693e71b5d9dfa0438fff85b04039 (diff)
downloadpoky-c89362c767ba3255358f5bf5630bdef8cb3d107d.tar.gz
openssl: Fix build of openssl-native on x86_64 with recent binutils
Apply a patch from upstream that fixes the build, patch should be able to be dropped when we update openssl version. Signed-off-by: Joshua Lock <josh@linux.intel.com>
Diffstat (limited to 'meta/packages/openssl')
-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 0000000000..05b48ab110
--- /dev/null
+++ b/meta/packages/openssl/openssl-0.9.8g/fix-md5-x86_64.patch
@@ -0,0 +1,47 @@
1Fix for building md5-x86_64.pl with recent gcc and binutils (as first discovered
2on my Fedora 13 machine).
3
4Patch taken from upstream bug tracker:
5http://rt.openssl.org/Ticket/Display.html?id=2094&user=guest&pass=guest
6
7This issue is marked as resolved upstream (on 13/11/2009) so we should be able
8to remove this patch when we update openssl.
9
10JL - 07/05/2010
11
12Index: 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"
diff --git a/meta/packages/openssl/openssl_0.9.8g.bb b/meta/packages/openssl/openssl_0.9.8g.bb
index 9abbbdce05..01fa6c9d26 100644
--- a/meta/packages/openssl/openssl_0.9.8g.bb
+++ b/meta/packages/openssl/openssl_0.9.8g.bb
@@ -1,9 +1,10 @@
1require openssl.inc 1require openssl.inc
2 2
3PR = "r10" 3PR = "r11"
4 4
5SRC_URI += "file://debian.patch;patch=1 \ 5SRC_URI += "file://debian.patch;patch=1 \
6 file://configure-targets.patch;patch=1 \ 6 file://configure-targets.patch;patch=1 \
7 file://fix-md5-x86_64.patch;patch=1 \
7 file://shared-libs.patch;patch=1" 8 file://shared-libs.patch;patch=1"
8 9
9BBCLASSEXTEND = "native" 10BBCLASSEXTEND = "native"