Merge branch 'master' of openssl.net:openssl
authorBen Laurie <ben@links.org>
Mon, 4 Mar 2013 20:26:17 +0000 (20:26 +0000)
committerBen Laurie <ben@links.org>
Mon, 4 Mar 2013 20:26:17 +0000 (20:26 +0000)
Conflicts:
util/mk1mf.pl

crypto/x86cpuid.pl
util/mk1mf.pl

index 3b6c469d082613eec9e2078c859cc87277035156..e8a75181afce09206f72fd82bb77db5f7b1493ab 100644 (file)
@@ -69,6 +69,7 @@ for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
        &inc    ("esi");                # number of cores
 
        &mov    ("eax",1);
+       &xor    ("ecx","ecx");
        &cpuid  ();
        &bt     ("edx",28);
        &jnc    (&label("generic"));
@@ -102,6 +103,7 @@ for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
 
 &set_label("nocacheinfo");
        &mov    ("eax",1);
+       &xor    ("ecx","ecx");
        &cpuid  ();
        &and    ("edx",0xbfefffff);     # force reserved bits #20, #30 to 0
        &cmp    ("ebp",0);
index e0e8d572436d4e5e3fb1c48d0aaa16a0430b9ce5..f12f9ea3fa5bd46ad9f6c56fd27196706171d9de 100755 (executable)
@@ -875,16 +875,18 @@ sub fix_asm
        return $asm . ' ';
        }
 
-$lib_obj{CRYPTO} .= fix_asm($mf_md5_asm, 'crypto/md5');
-$lib_obj{CRYPTO} .= fix_asm($mf_bn_asm, 'crypto/bn');
-# cpuid is included by the crypto dir
-#$lib_obj{CRYPTO} .= fix_asm($mf_cpuid_asm, 'crypto');
-# AES asm files end up included by the aes dir itself
-#$lib_obj{CRYPTO} .= fix_asm($mf_aes_asm, 'crypto/aes');
-$lib_obj{CRYPTO} .= fix_asm($mf_sha_asm, 'crypto/sha');
-$lib_obj{CRYPTO} .= fix_asm($mf_engines_asm, 'engines');
-$lib_obj{CRYPTO} .= fix_asm($mf_rc4_asm, 'crypto/rc4');
-$lib_obj{CRYPTO} .= fix_asm($mf_modes_asm, 'crypto/modes');
+if ($orig_platform eq 'copy') {
+       $lib_obj{CRYPTO} .= fix_asm($mf_md5_asm, 'crypto/md5');
+       $lib_obj{CRYPTO} .= fix_asm($mf_bn_asm, 'crypto/bn');
+       # cpuid is included by the crypto dir
+       $lib_obj{CRYPTO} .= fix_asm($mf_cpuid_asm, 'crypto');
+       # AES asm files end up included by the aes dir itself
+       #$lib_obj{CRYPTO} .= fix_asm($mf_aes_asm, 'crypto/aes');
+       $lib_obj{CRYPTO} .= fix_asm($mf_sha_asm, 'crypto/sha');
+       $lib_obj{CRYPTO} .= fix_asm($mf_engines_asm, 'engines');
+       $lib_obj{CRYPTO} .= fix_asm($mf_rc4_asm, 'crypto/rc4');
+       $lib_obj{CRYPTO} .= fix_asm($mf_modes_asm, 'crypto/modes');
+}
 
 foreach (values %lib_nam)
        {