From 239d1227654a9ed564bda767d11100e95ef6c570 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 3 Apr 2014 16:24:35 +0200 Subject: [PATCH] add support for ppc64le architecture (#1072633) --- openssl-1.0.1e-ppc64le-target.patch | 10 ++++++++++ openssl.spec | 12 ++++++++++-- opensslconf-new.h | 5 +++++ 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 openssl-1.0.1e-ppc64le-target.patch diff --git a/openssl-1.0.1e-ppc64le-target.patch b/openssl-1.0.1e-ppc64le-target.patch new file mode 100644 index 0000000..00d0079 --- /dev/null +++ b/openssl-1.0.1e-ppc64le-target.patch @@ -0,0 +1,10 @@ +--- openssl-1.0.1e.orig/Configure 2013-08-20 13:42:58.996358664 +1000 ++++ openssl-1.0.1e/Configure 2013-08-20 13:43:54.246608197 +1000 +@@ -357,6 +357,7 @@ + #### + "linux-generic64","gcc:-DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)", + "linux-ppc64", "gcc:-m64 -DB_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64:dlfcn:linux-shared:-fPIC:-m64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64", ++"linux-ppc64le", "gcc:-m64 -DL_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${no_asm}:dlfcn:linux-shared:-fPIC:-m64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64", + "linux-ia64", "gcc:-DL_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)", + "linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT:${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 DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", diff --git a/openssl.spec b/openssl.spec index bd79532..69f058c 100644 --- a/openssl.spec +++ b/openssl.spec @@ -23,7 +23,7 @@ Summary: Utilities from the general purpose cryptography library with TLS implementation Name: openssl Version: 1.0.1e -Release: 42%{?dist} +Release: 43%{?dist} Epoch: 1 # We have to remove certain patented algorithms from the openssl source # tarball with the hobble-openssl script which is included below. @@ -48,6 +48,7 @@ Patch6: openssl-0.9.8b-test-use-localhost.patch Patch7: openssl-1.0.0-timezone.patch Patch8: openssl-1.0.1c-perlfind.patch Patch9: openssl-1.0.1c-aliasing.patch +Patch10: openssl-1.0.1e-ppc64le-target.patch # Bug fixes Patch23: openssl-1.0.1c-default-paths.patch Patch24: openssl-1.0.1e-issuer-hash.patch @@ -174,6 +175,7 @@ cp %{SOURCE12} %{SOURCE13} crypto/ec/ %patch7 -p1 -b .timezone %patch8 -p1 -b .perlfind %{?_rawbuild} %patch9 -p1 -b .aliasing +%patch10 -p1 -b .ppc64le %patch23 -p1 -b .default-paths %patch24 -p1 -b .issuer-hash @@ -262,9 +264,12 @@ sslarch=linux-armv4 %ifarch sh3 sh4 sslarch=linux-generic32 %endif -%ifarch %{power64} +%ifarch ppc64 ppc64p7 sslarch=linux-ppc64 %endif +%ifarch ppc64le +sslarch="linux-ppc64le" +%endif # ia64, x86_64, ppc are OK by default # Configure the build tree. Override OpenSSL defaults with known-good defaults @@ -482,6 +487,9 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}/fipscanister.* %postun libs -p /sbin/ldconfig %changelog +* Thu Apr 3 2014 Tomáš Mráz 1.0.1e-43 +- add support for ppc64le architecture (#1072633) + * Mon Mar 17 2014 Tomáš Mráz 1.0.1e-42 - properly detect encryption failure in BIO - use 2048 bit RSA key in FIPS selftests diff --git a/opensslconf-new.h b/opensslconf-new.h index cf22738..bd56c73 100644 --- a/opensslconf-new.h +++ b/opensslconf-new.h @@ -14,7 +14,12 @@ #elif defined(__ia64__) #include "opensslconf-ia64.h" #elif defined(__powerpc64__) +#include +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ #include "opensslconf-ppc64.h" +#else +#include "opensslconf-ppc64le.h" +#endif #elif defined(__powerpc__) #include "opensslconf-ppc.h" #elif defined(__s390x__)