aboutsummaryrefslogtreecommitdiff
path: root/meta/recipes-connectivity/openssl/openssl-1.0.2l/openssl_fix_for_x32.patch
blob: 0f08a642f61cf9099c43a444de75d8f9a3228699 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Upstream-Status: Pending

Received from H J Liu @ Intel
Make the assembly syntax compatible with x32 gcc. Othewise x32 gcc throws errors.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/07/13

ported the patch to the 1.0.0e version
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/01
Index: openssl-1.0.2/crypto/bn/bn.h
===================================================================
--- openssl-1.0.2.orig/crypto/bn/bn.h
+++ openssl-1.0.2/crypto/bn/bn.h
@@ -173,6 +173,13 @@ extern "C" {
 #  endif
 # endif
 
+/* Address type.  */
+#ifdef _WIN64
+#define BN_ADDR unsigned long long
+#else
+#define BN_ADDR unsigned long
+#endif
+
 /*
  * assuming long is 64bit - this is the DEC Alpha unsigned long long is only
  * 64 bits :-(, don't define BN_LLONG for the DEC Alpha
Index: openssl-1.0.2/crypto/bn/bn_exp.c
===================================================================
--- openssl-1.0.2.orig/crypto/bn/bn_exp.c
+++ openssl-1.0.2/crypto/bn/bn_exp.c
@@ -638,7 +638,7 @@ static int MOD_EXP_CTIME_COPY_FROM_PREBU
  * multiple.
  */
 #define MOD_EXP_CTIME_ALIGN(x_) \
-        ((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((size_t)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK))))
+	((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((BN_ADDR)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK))))
 
 /*
  * This variant of BN_mod_exp_mont() uses fixed windows and the special