On 2016/10/09 6:29, S.P.Zeidler wrote:
I still need verifications from non-x86 :)
I tried it on powerpc boxes. Since build fails with your original patch, I added some corrections. Please find the attached notes and patch. With my patch, all 29 tests (MKCRYPTO_RC5=yes) in /usr/tests/crypto/libcrypto passed both on Freescale MPC8544E and IBM 405GPr. Thanks, Rin ==== PATCH FOR crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc ================================================================ This patch adds the glue for newly added assembler codes, and also codes that are present in 1.0.1 but their glue is missing. In addition, it appeases assembler errors, and so on. (1) Makefile (regen.sh) - ppc64-mont.S is necessary even for 32-bit environments. - Both sha512-ppc.S and sha256-ppc.S (sha512p8-ppc.S and sha256p8-ppc.S) are generated from sha512-ppc.pl (sha512p8-ppc.pl). The kind of output file is determined by its name (including 512 or not). - Replace some instructions to avoid "invalid conditional option" errors from as(1). Rules for the replacement are derived from here: https://nxr.netbsd.org/xref/src/crypto/external/bsd/openssl/dist/crypto/perlasm/ppc-xlate.pl#81 - Separate shell script from Makefile as regen.sh. (2) aes.inc (aesp8-ppc.S, vpaes-ppc.S) - Add aes-ppc.S, aesp8-ppc.S, and vpaes-ppc.S to AES_SRCS, together with -DAES_ASM and -DVPAES_ASM flags to AESCPPFLAGS. - Regen aesp8-ppc.S and vpaes-ppc.S. (3) bn.inc (ppc-mont.S, ppc64-mont.S) - Add ppc-mont.S and ppc64-mont.S to BN_SRCS, -DOPENSSL_BN_ASM_MONT to CPPFLAGS. - Regen ppc-mont.S and generate ppc64-mont.S. (4) modes.inc - Add ghashp8-ppc.S to MODES_SRCS. (5) sha.inc (sha512-ppc.S, sha512p8-ppc.S, sha256-ppc.S, sha256p8-ppc.S) - Add sha{512,256}{,p8}-ppc.S to SHA_SRCS. - Note on sha1-ppc.S, which is not currently used anywhere. - Regen sha512{,p8}-ppc.S and generate sha256{,p8}-ppc.S.
Attachment:
openssl-1.0.2j-ppc.patch.xz
Description: application/xz