[openssl] master update

shane.lontis at oracle.com shane.lontis at oracle.com
Wed Oct 16 06:25:35 UTC 2019


The branch master has been updated
       via  64fd90fbe99dde18de3fc7c3a6b06793d87a4aad (commit)
      from  f97a8af2f3f3573f0759693117c9d33d2a63c27e (commit)


- Log -----------------------------------------------------------------
commit 64fd90fbe99dde18de3fc7c3a6b06793d87a4aad
Author: Shane Lontis <shane.lontis at oracle.com>
Date:   Tue Oct 15 12:35:41 2019 +1000

    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 at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/10180)

-----------------------------------------------------------------------

Summary of changes:
 crypto/aes/build.info      | 8 +++++++-
 crypto/bn/build.info       | 5 ++++-
 crypto/build.info          | 8 ++++++--
 crypto/ec/build.info       | 6 +++++-
 crypto/md5/build.info      | 4 ++++
 crypto/modes/build.info    | 6 +++++-
 crypto/poly1305/build.info | 4 ++++
 crypto/ripemd/build.info   | 4 ++++
 crypto/sha/build.info      | 8 ++++++--
 crypto/whrlpool/build.info | 4 ++++
 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


More information about the openssl-commits mailing list