forked from rpms/openssl
Make the fips_standalone_sha build on PPC.
This commit is contained in:
parent
a577400ed8
commit
0e8cc69f30
@ -18112,7 +18112,7 @@ diff -up openssl-1.0.1g/crypto/fips/fips_sha_selftest.c.fips openssl-1.0.1g/cryp
|
|||||||
diff -up openssl-1.0.1g/crypto/fips/fips_standalone_hmac.c.fips openssl-1.0.1g/crypto/fips/fips_standalone_hmac.c
|
diff -up openssl-1.0.1g/crypto/fips/fips_standalone_hmac.c.fips openssl-1.0.1g/crypto/fips/fips_standalone_hmac.c
|
||||||
--- openssl-1.0.1g/crypto/fips/fips_standalone_hmac.c.fips 2014-05-06 16:29:50.551923340 +0200
|
--- openssl-1.0.1g/crypto/fips/fips_standalone_hmac.c.fips 2014-05-06 16:29:50.551923340 +0200
|
||||||
+++ openssl-1.0.1g/crypto/fips/fips_standalone_hmac.c 2014-05-06 16:29:50.551923340 +0200
|
+++ openssl-1.0.1g/crypto/fips/fips_standalone_hmac.c 2014-05-06 16:29:50.551923340 +0200
|
||||||
@@ -0,0 +1,180 @@
|
@@ -0,0 +1,236 @@
|
||||||
+/* ====================================================================
|
+/* ====================================================================
|
||||||
+ * Copyright (c) 2003 The OpenSSL Project. All rights reserved.
|
+ * Copyright (c) 2003 The OpenSSL Project. All rights reserved.
|
||||||
+ *
|
+ *
|
||||||
@ -18172,17 +18172,73 @@ diff -up openssl-1.0.1g/crypto/fips/fips_standalone_hmac.c.fips openssl-1.0.1g/c
|
|||||||
+#ifndef FIPSCANISTER_O
|
+#ifndef FIPSCANISTER_O
|
||||||
+int FIPS_selftest_failed() { return 0; }
|
+int FIPS_selftest_failed() { return 0; }
|
||||||
+void FIPS_selftest_check() {}
|
+void FIPS_selftest_check() {}
|
||||||
+void OPENSSL_cleanse(void *p,size_t len) {}
|
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
|
+#ifdef OPENSSL_FIPS
|
||||||
|
+int bn_mul_mont_fpu64(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_ULONG *np, const BN_ULONG *n0, int num) { return 0; };
|
||||||
|
+int bn_mul_mont_int(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_ULONG *np, const BN_ULONG *n0, int num) { return 0; };
|
||||||
|
+
|
||||||
+#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \
|
+#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \
|
||||||
+ defined(__INTEL__) || \
|
+ defined(__INTEL__) || \
|
||||||
+ defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || defined(_M_X64)
|
+ defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || defined(_M_X64)
|
||||||
+
|
+
|
||||||
+unsigned int OPENSSL_ia32cap_P[2];
|
+unsigned int OPENSSL_ia32cap_P[2];
|
||||||
|
+unsigned long *OPENSSL_ia32cap_loc(void)
|
||||||
|
+{ if (sizeof(long)==4)
|
||||||
|
+ /*
|
||||||
|
+ * If 32-bit application pulls address of OPENSSL_ia32cap_P[0]
|
||||||
|
+ * clear second element to maintain the illusion that vector
|
||||||
|
+ * is 32-bit.
|
||||||
|
+ */
|
||||||
|
+ OPENSSL_ia32cap_P[1]=0;
|
||||||
|
+ return (unsigned long *)OPENSSL_ia32cap_P;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+#if defined(OPENSSL_CPUID_OBJ) && !defined(OPENSSL_NO_ASM) && !defined(I386_ONLY)
|
||||||
|
+#define OPENSSL_CPUID_SETUP
|
||||||
|
+#if defined(_WIN32)
|
||||||
|
+typedef unsigned __int64 IA32CAP;
|
||||||
|
+#else
|
||||||
|
+typedef unsigned long long IA32CAP;
|
||||||
|
+#endif
|
||||||
|
+void OPENSSL_cpuid_setup(void)
|
||||||
|
+{ static int trigger=0;
|
||||||
|
+ IA32CAP OPENSSL_ia32_cpuid(void);
|
||||||
|
+ IA32CAP vec;
|
||||||
|
+ char *env;
|
||||||
|
+
|
||||||
|
+ if (trigger) return;
|
||||||
|
+
|
||||||
|
+ trigger=1;
|
||||||
|
+ if ((env=getenv("OPENSSL_ia32cap"))) {
|
||||||
|
+ int off = (env[0]=='~')?1:0;
|
||||||
|
+#if defined(_WIN32)
|
||||||
|
+ if (!sscanf(env+off,"%I64i",&vec)) vec = strtoul(env+off,NULL,0);
|
||||||
|
+#else
|
||||||
|
+ if (!sscanf(env+off,"%lli",(long long *)&vec)) vec = strtoul(env+off,NULL,0);
|
||||||
|
+#endif
|
||||||
|
+ if (off) vec = OPENSSL_ia32_cpuid()&~vec;
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ vec = OPENSSL_ia32_cpuid();
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
+ * |(1<<10) sets a reserved bit to signal that variable
|
||||||
|
+ * was initialized already... This is to avoid interference
|
||||||
|
+ * with cpuid snippets in ELF .init segment.
|
||||||
|
+ */
|
||||||
|
+ OPENSSL_ia32cap_P[0] = (unsigned int)vec|(1<<10);
|
||||||
|
+ OPENSSL_ia32cap_P[1] = (unsigned int)(vec>>32);
|
||||||
|
+}
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
+#ifdef OPENSSL_FIPS
|
+#else
|
||||||
|
+unsigned long *OPENSSL_ia32cap_loc(void) { return NULL; }
|
||||||
|
+#endif
|
||||||
|
+int OPENSSL_NONPIC_relocated = 0;
|
||||||
|
+#if !defined(OPENSSL_CPUID_SETUP) && !defined(OPENSSL_CPUID_OBJ)
|
||||||
|
+void OPENSSL_cpuid_setup(void) {}
|
||||||
|
+#endif
|
||||||
+
|
+
|
||||||
+static void hmac_init(SHA256_CTX *md_ctx,SHA256_CTX *o_ctx,
|
+static void hmac_init(SHA256_CTX *md_ctx,SHA256_CTX *o_ctx,
|
||||||
+ const char *key)
|
+ const char *key)
|
||||||
@ -18888,7 +18944,7 @@ diff -up openssl-1.0.1g/crypto/fips/fips_test_suite.c.fips openssl-1.0.1g/crypto
|
|||||||
diff -up openssl-1.0.1g/crypto/fips/Makefile.fips openssl-1.0.1g/crypto/fips/Makefile
|
diff -up openssl-1.0.1g/crypto/fips/Makefile.fips openssl-1.0.1g/crypto/fips/Makefile
|
||||||
--- openssl-1.0.1g/crypto/fips/Makefile.fips 2014-05-06 16:29:50.552923363 +0200
|
--- openssl-1.0.1g/crypto/fips/Makefile.fips 2014-05-06 16:29:50.552923363 +0200
|
||||||
+++ openssl-1.0.1g/crypto/fips/Makefile 2014-05-06 16:29:50.552923363 +0200
|
+++ openssl-1.0.1g/crypto/fips/Makefile 2014-05-06 16:29:50.552923363 +0200
|
||||||
@@ -0,0 +1,340 @@
|
@@ -0,0 +1,341 @@
|
||||||
+#
|
+#
|
||||||
+# OpenSSL/crypto/fips/Makefile
|
+# OpenSSL/crypto/fips/Makefile
|
||||||
+#
|
+#
|
||||||
@ -18981,6 +19037,7 @@ diff -up openssl-1.0.1g/crypto/fips/Makefile.fips openssl-1.0.1g/crypto/fips/Mak
|
|||||||
+
|
+
|
||||||
+$(EXE): $(PROGRAM).o
|
+$(EXE): $(PROGRAM).o
|
||||||
+ FIPS_SHA_ASM=""; for i in $(SHA1_ASM_OBJ) sha256.o; do FIPS_SHA_ASM="$$FIPS_SHA_ASM ../sha/$$i" ; done; \
|
+ FIPS_SHA_ASM=""; for i in $(SHA1_ASM_OBJ) sha256.o; do FIPS_SHA_ASM="$$FIPS_SHA_ASM ../sha/$$i" ; done; \
|
||||||
|
+ for i in $(CPUID_OBJ); do FIPS_SHA_ASM="$$FIPS_SHA_ASM ../$$i" ; done; \
|
||||||
+ $(CC) -o $@ $(CFLAGS) $(PROGRAM).o $$FIPS_SHA_ASM
|
+ $(CC) -o $@ $(CFLAGS) $(PROGRAM).o $$FIPS_SHA_ASM
|
||||||
+
|
+
|
||||||
+# DO NOT DELETE THIS LINE -- make depend depends on it.
|
+# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||||
|
Loading…
Reference in New Issue
Block a user