title: No rule to make target `modexp512-x86_64.o' with ASM enabled
body: <p>I am trying to build openssl-1.0.2j on Linux 64-bit with ASM enabled. Openssl-1.0.1u is the latest but not a good option for us. Without <code>no-asm</code> option I get the following error (with <code>no-asm</code> its OK):</p>
  
  <pre><code>No rule to make target `modexp512-x86_64.o', needed by `lib'
  </code></pre>
  
  <p>I tried different compilers on different CentOS VMs (CentOS 5.11 with gcc-4.1.2, CentOS 6.0 with gcc-4.4.4 and CentOS 7.1 with gcc-4.8.3) and got he same result.</p>
  
  <p>We are using openssl-1.0.1l which built fine without "no-asm" option.
  Because of the latest security vulnerability we need to move to a newer version of openssl.</p>
  
  <p>I also found that when I pass "no-asm" option I pass the error above but I get an error about "ENGINE_load_rsax" being undefined.</p>
  
  <p>Why am I getting the error related to <code>modexp512-x86_64.o'</code> when ASM is enabled? How do I fix it?</p>
  
  <p>Here is how I ran the config to isolate the issue and the first portion of the output:</p>
  
  <pre>
      ./config shared
      Operating system: x86_64-whatever-linux2
      Configuring for linux-x86_64
      Configuring for linux-x86_64
      no-ec_nistp_64_gcc_128 [default]  OPENSSL_NO_EC_NISTP_64_GCC_128 (skip dir)
      no-gmp          [default]  OPENSSL_NO_GMP (skip dir)
      no-jpake        [experimental] OPENSSL_NO_JPAKE (skip dir)
      no-krb5         [krb5-flavor not specified] OPENSSL_NO_KRB5
      no-libunbound   [experimental] OPENSSL_NO_LIBUNBOUND (skip dir)
      no-md2          [default]  OPENSSL_NO_MD2 (skip dir)
      no-rc5          [default]  OPENSSL_NO_RC5 (skip dir)
      no-rfc3779      [default]  OPENSSL_NO_RFC3779 (skip dir)
      no-sctp         [default]  OPENSSL_NO_SCTP (skip dir)
      no-ssl-trace    [default]  OPENSSL_NO_SSL_TRACE (skip dir)
      no-ssl2         [default]  OPENSSL_NO_SSL2 (skip dir)
      no-store        [experimental] OPENSSL_NO_STORE (skip dir)
      no-unit-test    [default]  OPENSSL_NO_UNIT_TEST (skip dir)
      no-weak-ssl-ciphers [default]  OPENSSL_NO_WEAK_SSL_CIPHERS (skip dir)
      no-zlib         [default]
      no-zlib-dynamic [default]
      IsMK1MF=0
      CC            =gcc
      CFLAG         =-fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
      EX_LIBS       =-ldl
      CPUID_OBJ     =x86_64cpuid.o
      BN_ASM        =x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o rsaz_exp.o rsaz-x86_64.o rsaz-avx2.o
      EC_ASM        =ecp_nistz256.o ecp_nistz256-x86_64.o
      DES_ENC       =des_enc.o fcrypt_b.o
      AES_ENC       =aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o aesni-sha256-x86_64.o aesni-mb-x86_64.o
      BF_ENC        =bf_enc.o
      CAST_ENC      =c_enc.o
      RC4_ENC       =rc4-x86_64.o rc4-md5-x86_64.o
      RC5_ENC       =rc5_enc.o
      MD5_OBJ_ASM   =md5-x86_64.o
      SHA1_OBJ_ASM  =sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o sha1-mb-x86_64.o sha256-mb-x86_64.o
      RMD160_OBJ_ASM=
      CMLL_ENC      =cmll-x86_64.o cmll_misc.o
      MODES_OBJ     =ghash-x86_64.o aesni-gcm-x86_64.o
      ENGINES_OBJ   =
      PROCESSOR     =
      RANLIB        =/usr/bin/ranlib
      ARFLAGS       =
      PERL          =/usr/bin/perl
      SIXTY_FOUR_BIT_LONG mode
      DES_UNROLL used
      DES_INT used
      RC4_CHUNK is unsigned long
  </pre>