From: Nitin A Kamble <[email protected]> Signed-off-by: Nitin A Kamble <[email protected]> --- .../openssl/openssl-0.9.8r/x32_compile_fix.patch | 74 ++++++++++++++++++++ meta/recipes-connectivity/openssl/openssl.inc | 5 ++ .../recipes-connectivity/openssl/openssl_0.9.8r.bb | 5 +- 3 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-connectivity/openssl/openssl-0.9.8r/x32_compile_fix.patch
diff --git a/meta/recipes-connectivity/openssl/openssl-0.9.8r/x32_compile_fix.patch b/meta/recipes-connectivity/openssl/openssl-0.9.8r/x32_compile_fix.patch new file mode 100644 index 0000000..24f2df5 --- /dev/null +++ b/meta/recipes-connectivity/openssl/openssl-0.9.8r/x32_compile_fix.patch @@ -0,0 +1,74 @@ +UpstreamStatus: Pending + +Received from H J Liu @ Intel + +This patch fixes the compilation for x32 build +Signed-Off-By: Nitin A Kamble <[email protected]> 2011/07/13 + +Index: openssl-0.9.8r/Configure +=================================================================== +--- openssl-0.9.8r.orig/Configure ++++ openssl-0.9.8r/Configure +@@ -390,6 +390,7 @@ my %table=( + "linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + "linux-ia64-icc","icc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + "linux-x86_64", "gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", ++"linux-x32", "gcc:-mx32 -DL_ENDIAN -DTERMIO -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:linux-shared:-fPIC:-mx32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + #### SPARC Linux setups + # Ray Miller <[email protected]> has patiently + # assisted with debugging of following two configs. +Index: openssl-0.9.8r/crypto/bn/asm/x86_64-gcc.c +=================================================================== +--- openssl-0.9.8r.orig/crypto/bn/asm/x86_64-gcc.c ++++ openssl-0.9.8r/crypto/bn/asm/x86_64-gcc.c +@@ -55,7 +55,11 @@ + * machine. + */ + ++#if defined _WIN64 || !defined __LP64__ ++#define BN_ULONG unsigned long long ++#else + #define BN_ULONG unsigned long ++#endif + + #undef mul + #undef mul_add +@@ -188,9 +192,9 @@ BN_ULONG bn_add_words (BN_ULONG *rp, con + asm ( + " subq %2,%2 \n" + ".align 16 \n" +- "1: movq (%4,%2,8),%0 \n" +- " adcq (%5,%2,8),%0 \n" +- " movq %0,(%3,%2,8) \n" ++ "1: movq (%q4,%2,8),%0 \n" ++ " adcq (%q5,%2,8),%0 \n" ++ " movq %0,(%q3,%2,8) \n" + " leaq 1(%2),%2 \n" + " loop 1b \n" + " sbbq %0,%0 \n" +@@ -211,9 +215,9 @@ BN_ULONG bn_sub_words (BN_ULONG *rp, con + asm ( + " subq %2,%2 \n" + ".align 16 \n" +- "1: movq (%4,%2,8),%0 \n" +- " sbbq (%5,%2,8),%0 \n" +- " movq %0,(%3,%2,8) \n" ++ "1: movq (%q4,%2,8),%0 \n" ++ " sbbq (%q5,%2,8),%0 \n" ++ " movq %0,(%q3,%2,8) \n" + " leaq 1(%2),%2 \n" + " loop 1b \n" + " sbbq %0,%0 \n" +Index: openssl-0.9.8r/crypto/bn/bn_exp.c +=================================================================== +--- openssl-0.9.8r.orig/crypto/bn/bn_exp.c ++++ openssl-0.9.8r/crypto/bn/bn_exp.c +@@ -561,7 +561,7 @@ static int MOD_EXP_CTIME_COPY_FROM_PREBU + + /* Given a pointer value, compute the next address that is a cache line multiple. */ + #define MOD_EXP_CTIME_ALIGN(x_) \ +- ((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((BN_ULONG)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK)))) ++ ((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((unsigned long)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK)))) + + /* This variant of BN_mod_exp_mont() uses fixed windows and the special + * precomputation memory layout to limit data-dependency to a minimum diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc index d42ae1c..f62b936 100644 --- a/meta/recipes-connectivity/openssl/openssl.inc +++ b/meta/recipes-connectivity/openssl/openssl.inc @@ -71,6 +71,11 @@ do_configure () { linux-i686) target=debian-i386-i686/cmov ;; + linux-x86_64) + if [ "x${TARGET_CC_ARCH}" = "x-mx32" ]; then + target=linux-x32 + fi + ;; linux-mips) target=debian-mips ;; diff --git a/meta/recipes-connectivity/openssl/openssl_0.9.8r.bb b/meta/recipes-connectivity/openssl/openssl_0.9.8r.bb index c95b1f1..a42bfcd 100644 --- a/meta/recipes-connectivity/openssl/openssl_0.9.8r.bb +++ b/meta/recipes-connectivity/openssl/openssl_0.9.8r.bb @@ -1,6 +1,6 @@ require openssl.inc -PR = "r2" +PR = "r3" SRC_URI += "file://debian/ca.patch \ file://debian/config-hurd.patch;apply=no \ file://debian/debian-targets.patch \ @@ -25,6 +25,7 @@ SRC_URI[md5sum] = "0352932ea863bc02b056cda7c9ac5b79" SRC_URI[sha256sum] = "42b2368f786b05ed3be846838dce126b4e8e3dba8fb2e0ce83102df28c102fad" SRC_URI += "file://configure-targets.patch \ - file://shared-libs.patch" + file://shared-libs.patch \ + file://x32_compile_fix.patch" BBCLASSEXTEND = "native nativesdk" -- 1.7.5.4 _______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
