Browse Source

Move wp_asm_src file information to build.info files

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/9166)
Richard Levitte 5 years ago
parent
commit
681c7e905d
4 changed files with 20 additions and 14 deletions
  1. 0 3
      Configurations/00-base-templates.conf
  2. 0 2
      Configurations/README
  3. 0 8
      Configure
  4. 20 1
      crypto/whrlpool/build.info

+ 0 - 3
Configurations/00-base-templates.conf

@@ -14,7 +14,6 @@ my %targets=(
 	thread_scheme	=> "(unknown)", # Assume we don't know
 	thread_defines	=> [],
 
-	wp_asm_src	=> "wp_block.c",
 	cmll_asm_src	=> "camellia.c cmll_misc.c cmll_cbc.c",
 	modes_asm_src	=> "",
 	padlock_asm_src	=> "",
@@ -157,7 +156,6 @@ my %targets=(
 
     x86_asm => {
 	template	=> 1,
-	wp_asm_src	=> "wp_block.c wp-mmx.s",
 	cmll_asm_src	=> "cmll-x86.s",
 	modes_asm_src	=> "ghash-x86.s",
 	padlock_asm_src	=> "e_padlock-x86.s",
@@ -170,7 +168,6 @@ my %targets=(
     },
     x86_64_asm => {
 	template	=> 1,
-	wp_asm_src      => "wp-x86_64.s",
 	cmll_asm_src    => "cmll-x86_64.s cmll_misc.c",
 	modes_asm_src   => "ghash-x86_64.s aesni-gcm-x86_64.s",
 	padlock_asm_src => "e_padlock-x86_64.s",

+ 0 - 2
Configurations/README

@@ -240,8 +240,6 @@ In each table entry, the following keys are significant:
                                                 export vars as
                                                 accessor functions.
 
-        wp_asm_src      => Assembler implementation of core WHIRLPOOL
-                           functions.
         cmll_asm_src    => Assembler implementation of core CAMELLIA
                            functions.
                            Defaults to 'camellia.c cmll_misc.c cmll_cbc.c'

+ 0 - 8
Configure

@@ -1407,13 +1407,6 @@ unless ($disabled{asm}) {
     if ($target{keccak1600_asm_src} ne $table{DEFAULTS}->{keccak1600_asm_src}) {
         push @{$config{lib_defines}}, "KECCAK1600_ASM";
     }
-    if ($target{wp_asm_src} =~ /mmx/) {
-        if ($config{processor} eq "386") {
-            $target{wp_asm_src}=$table{DEFAULTS}->{wp_asm_src};
-        } elsif (!$disabled{"whirlpool"}) {
-            push @{$config{lib_defines}}, "WHIRLPOOL_ASM";
-        }
-    }
     if ($target{modes_asm_src} =~ /ghash-/) {
         push @{$config{lib_defines}}, "GHASH_ASM";
     }
@@ -3351,7 +3344,6 @@ sub print_table_entry
         "loutflag",
         "ex_libs",
         "bn_ops",
-        "wp_asm_src",
         "cmll_asm_src",
         "modes_asm_src",
         "padlock_asm_src",

+ 20 - 1
crypto/whrlpool/build.info

@@ -1,5 +1,24 @@
 LIBS=../../libcrypto
-SOURCE[../../libcrypto]=wp_dgst.c {- $target{wp_asm_src} -}
+
+$WPASM=wp_block.c
+IF[{- !$disabled{asm} -}]
+  IF[{- $config{processor} ne "386" -}]
+    $WPASM_x86=wp_block.c wp-mmx.s
+    $WPDEF_x86=WHIRLPOOL_ASM
+  ENDIF
+  $WPASM_x86_64=wp-x86_64.s
+  $WPDEF_x86_64=WHIRLPOOL_ASM
+
+  # Now that we have defined all the arch specific variables, use the
+  # appropriate one, and define the appropriate macros
+  IF[$WPASM_{- $target{asm_arch} -}]
+    $WPASM=$WPASM_{- $target{asm_arch} -}
+    $WPDEF=$WPDEF_{- $target{asm_arch} -}
+  ENDIF
+ENDIF
+
+SOURCE[../../libcrypto]=wp_dgst.c $WPASM
+DEFINE[../../libcrypto]=$WPDEF
 
 GENERATE[wp-mmx.s]=asm/wp-mmx.pl \
         $(PERLASM_SCHEME) $(LIB_CFLAGS) $(LIB_CPPFLAGS) $(PROCESSOR)