summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShane Lontis <shane.lontis@oracle.com>2019-10-15 12:35:41 +1000
committerShane Lontis <shane.lontis@oracle.com>2019-10-16 16:10:39 +1000
commit64fd90fbe99dde18de3fc7c3a6b06793d87a4aad (patch)
tree8c1870ea8b90719689752e9fccd2f919bf67dc84
parentf97a8af2f3f3573f0759693117c9d33d2a63c27e (diff)
Fix missing Assembler defines
Implementations are now spread across several libraries, so the assembler related defines need to be applied to all affected libraries and modules. AES_ASM define was missing from libimplementations.a which disabled AESNI aarch64 changes were made by xkqian. Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/10180)
-rw-r--r--crypto/aes/build.info8
-rw-r--r--crypto/bn/build.info5
-rw-r--r--crypto/build.info8
-rw-r--r--crypto/ec/build.info6
-rw-r--r--crypto/md5/build.info4
-rw-r--r--crypto/modes/build.info6
-rw-r--r--crypto/poly1305/build.info4
-rw-r--r--crypto/ripemd/build.info4
-rw-r--r--crypto/sha/build.info8
-rw-r--r--crypto/whrlpool/build.info4
10 files changed, 49 insertions, 8 deletions
diff --git a/crypto/aes/build.info b/crypto/aes/build.info
index 59c009761e..291bf2af9b 100644
--- a/crypto/aes/build.info
+++ b/crypto/aes/build.info
@@ -61,9 +61,15 @@ ENDIF
$COMMON=aes_misc.c aes_ecb.c $AESASM
SOURCE[../../libcrypto]=$COMMON aes_cfb.c aes_ofb.c aes_ige.c aes_wrap.c
-DEFINE[../../libcrypto]=$AESDEF
SOURCE[../../providers/libfips.a]=$COMMON
+
+# Implementations are now spread across several libraries, so the defines
+# need to be applied to all affected libraries and modules.
+DEFINE[../../libcrypto]=$AESDEF
DEFINE[../../providers/libfips.a]=$AESDEF
+DEFINE[../../providers/libimplementations.a]=$AESDEF
+# fipsprov.c needs access to AESNI.
+DEFINE[../../providers/fips]=$AESDEF
GENERATE[aes-ia64.s]=asm/aes-ia64.S
diff --git a/crypto/bn/build.info b/crypto/bn/build.info
index 75b84d0df6..5ad8bf14d3 100644
--- a/crypto/bn/build.info
+++ b/crypto/bn/build.info
@@ -108,9 +108,12 @@ $COMMON=bn_add.c bn_div.c bn_exp.c bn_lib.c bn_ctx.c bn_mul.c \
bn_const.c bn_x931p.c bn_intern.c bn_dh.c \
bn_rsa_fips186_4.c $BNASM
SOURCE[../../libcrypto]=$COMMON bn_print.c bn_err.c bn_depr.c bn_srp.c
-DEFINE[../../libcrypto]=$BNDEF
SOURCE[../../providers/libfips.a]=$COMMON
+# Implementations are now spread across several libraries, so the defines
+# need to be applied to all affected libraries and modules.
+DEFINE[../../libcrypto]=$BNDEF
DEFINE[../../providers/libfips.a]=$BNDEF
+DEFINE[../../providers/libimplementations.a]=$BNDEF
INCLUDE[../../libcrypto]=../../crypto/include
diff --git a/crypto/build.info b/crypto/build.info
index f41ecf448f..7d3eb29570 100644
--- a/crypto/build.info
+++ b/crypto/build.info
@@ -77,10 +77,14 @@ SOURCE[../libcrypto]=$UTIL_COMMON \
cversion.c info.c cpt_err.c ebcdic.c uid.c o_time.c o_dir.c \
o_fopen.c getenv.c o_init.c o_fips.c init.c trace.c provider.c \
$UPLINKSRC
-DEFINE[../libcrypto]=$UTIL_DEFINE $UPLINKDEF
SOURCE[../providers/libfips.a]=$UTIL_COMMON
-DEFINE[../providers/libfips.a]=$UTIL_DEFINE
+# Implementations are now spread across several libraries, so the defines
+# need to be applied to all affected libraries and modules.
+DEFINE[../libcrypto]=$UTIL_DEFINE $UPLINKDEF
+DEFINE[../providers/libfips.a]=$UTIL_DEFINE
+DEFINE[../providers/fips]=$UTIL_DEFINE
+DEFINE[../providers/libimplementations.a]=$UTIL_DEFINE
DEPEND[info.o]=buildinf.h
DEPEND[cversion.o]=buildinf.h
diff --git a/crypto/ec/build.info b/crypto/ec/build.info
index 40aef36798..90aea66a14 100644
--- a/crypto/ec/build.info
+++ b/crypto/ec/build.info
@@ -56,9 +56,13 @@ $COMMON=ec_lib.c ecp_smpl.c ecp_mont.c ecp_nist.c ec_cvt.c ec_mult.c \
$ECASM
SOURCE[../../libcrypto]=$COMMON ec_ameth.c ec_pmeth.c ecx_meth.c ec_err.c \
ecdh_kdf.c eck_prn.c
-DEFINE[../../libcrypto]=$ECDEF
SOURCE[../../providers/libfips.a]=$COMMON
+
+# Implementations are now spread across several libraries, so the defines
+# need to be applied to all affected libraries and modules.
+DEFINE[../../libcrypto]=$ECDEF
DEFINE[../../providers/libfips.a]=$ECDEF
+DEFINE[../../providers/libimplementations.a]=$ECDEF
GENERATE[ecp_nistz256-x86.s]=asm/ecp_nistz256-x86.pl
diff --git a/crypto/md5/build.info b/crypto/md5/build.info
index 081e0b08bd..d4494b274d 100644
--- a/crypto/md5/build.info
+++ b/crypto/md5/build.info
@@ -15,7 +15,11 @@ IF[{- !$disabled{asm} -}]
ENDIF
SOURCE[../../libcrypto]=md5_dgst.c md5_one.c md5_sha1.c $MD5ASM
+
+# Implementations are now spread across several libraries, so the defines
+# need to be applied to all affected libraries and modules.
DEFINE[../../libcrypto]=$MD5DEF
+DEFINE[../../providers/libimplementations.a]=$MD5DEF
GENERATE[md5-586.s]=asm/md5-586.pl
diff --git a/crypto/modes/build.info b/crypto/modes/build.info
index 4ae0d8b011..b741be821b 100644
--- a/crypto/modes/build.info
+++ b/crypto/modes/build.info
@@ -52,10 +52,14 @@ $COMMON=cbc128.c ctr128.c cfb128.c ofb128.c gcm128.c ccm128.c xts128.c \
wrap128.c $MODESASM
SOURCE[../../libcrypto]=$COMMON \
cts128.c ocb128.c siv128.c
+SOURCE[../../providers/libfips.a]=$COMMON
+# Implementations are now spread across several libraries, so the defines
+# need to be applied to all affected libraries and modules.
DEFINE[../../libcrypto]=$MODESDEF
-SOURCE[../../providers/libfips.a]=$COMMON
DEFINE[../../providers/libfips.a]=$MODESDEF
+DEFINE[../../providers/libimplementations.a]=$MODESDEF
+
INCLUDE[gcm128.o]=..
diff --git a/crypto/poly1305/build.info b/crypto/poly1305/build.info
index 29cdf4c861..6425a01583 100644
--- a/crypto/poly1305/build.info
+++ b/crypto/poly1305/build.info
@@ -30,7 +30,11 @@ IF[{- !$disabled{asm} -}]
ENDIF
SOURCE[../../libcrypto]=poly1305_ameth.c poly1305.c $POLY1305ASM
+
+# Implementations are now spread across several libraries, so the defines
+# need to be applied to all affected libraries and modules.
DEFINE[../../libcrypto]=$POLY1305DEF
+DEFINE[../providers/libimplementations.a]=$POLY1305DEF
GENERATE[poly1305-sparcv9.S]=asm/poly1305-sparcv9.pl
INCLUDE[poly1305-sparcv9.o]=..
diff --git a/crypto/ripemd/build.info b/crypto/ripemd/build.info
index c4baf63141..a0a45b0e84 100644
--- a/crypto/ripemd/build.info
+++ b/crypto/ripemd/build.info
@@ -13,7 +13,11 @@ IF[{- !$disabled{asm} -}]
ENDIF
SOURCE[../../libcrypto]=rmd_dgst.c rmd_one.c $RMD160ASM
+
+# Implementations are now spread across several libraries, so the defines
+# need to be applied to all affected libraries and modules
DEFINE[../../libcrypto]=$RMD160DEF
+DEFINE[../providers/libimplementations.a]=$RMD160DEF
GENERATE[rmd-586.s]=asm/rmd-586.pl
DEPEND[rmd-586.s]=../perlasm/x86asm.pl
diff --git a/crypto/sha/build.info b/crypto/sha/build.info
index 25c64a0e2c..dd10c5cd66 100644
--- a/crypto/sha/build.info
+++ b/crypto/sha/build.info
@@ -75,9 +75,13 @@ ENDIF
$COMMON=sha1dgst.c sha256.c sha512.c sha3.c $SHA1ASM $KECCAK1600ASM
SOURCE[../../libcrypto]=$COMMON sha1_one.c
-DEFINE[../../libcrypto]=$SHA1DEF $KECCAK1600DEF
SOURCE[../../providers/libfips.a]= $COMMON
-DEFINE[../../providers/libfips.a]= $SHA1DEF $KECCAK1600DEF
+
+# Implementations are now spread across several libraries, so the defines
+# need to be applied to all affected libraries and modules.
+DEFINE[../../libcrypto]=$SHA1DEF $KECCAK1600DEF
+DEFINE[../../providers/libfips.a]=$SHA1DEF $KECCAK1600DEF
+DEFINE[../../providers/libimplementations.a]=$SHA1DEF $KECCAK1600DEF
GENERATE[sha1-586.s]=asm/sha1-586.pl
DEPEND[sha1-586.s]=../perlasm/x86asm.pl
diff --git a/crypto/whrlpool/build.info b/crypto/whrlpool/build.info
index 3276bd1237..6630a779f4 100644
--- a/crypto/whrlpool/build.info
+++ b/crypto/whrlpool/build.info
@@ -18,7 +18,11 @@ IF[{- !$disabled{asm} -}]
ENDIF
SOURCE[../../libcrypto]=wp_dgst.c $WPASM
+
+# Implementations are now spread across several libraries, so the defines
+# need to be applied to all affected libraries and modules.
DEFINE[../../libcrypto]=$WPDEF
+DEFINE[../../providers/libimplementations.a]=$WPDEF
GENERATE[wp-mmx.s]=asm/wp-mmx.pl
DEPEND[wp-mmx.s]=../perlasm/x86asm.pl