aboutsummaryrefslogtreecommitdiff
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)
downloadopenssl-64fd90fbe99dde18de3fc7c3a6b06793d87a4aad.zip
openssl-64fd90fbe99dde18de3fc7c3a6b06793d87a4aad.tar.gz
openssl-64fd90fbe99dde18de3fc7c3a6b06793d87a4aad.tar.bz2
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 59c0097..291bf2a 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 75b84d0..5ad8bf1 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 f41ecf4..7d3eb29 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 40aef36..90aea66 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 081e0b0..d4494b2 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 4ae0d8b..b741be8 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 29cdf4c..6425a01 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 c4baf63..a0a45b0 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 25c64a0..dd10c5c 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 3276bd1..6630a77 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