I386_ONLY was used to prefer a different assembler sequence in the
sha512 code, which would be faster on 80386 processors, but slower on
80486 and above.

This code path has never been enabled, and there are actually no plans
to make libcrypto friendlier to genuine 80386 chips, so why bother
keeping this - it's only contributing to obfuscation.

Index: cryptlib.c
===================================================================
RCS file: /cvs/src/lib/libcrypto/cryptlib.c,v
retrieving revision 1.37
diff -u -p -r1.37 cryptlib.c
--- cryptlib.c  13 Sep 2015 16:56:11 -0000      1.37
+++ cryptlib.c  4 Nov 2016 08:49:22 -0000
@@ -635,7 +635,7 @@ OPENSSL_cpu_caps(void)
        return *(uint64_t *)OPENSSL_ia32cap_P;
 }
 
-#if defined(OPENSSL_CPUID_OBJ) && !defined(OPENSSL_NO_ASM) && 
!defined(I386_ONLY)
+#if defined(OPENSSL_CPUID_OBJ) && !defined(OPENSSL_NO_ASM)
 #define OPENSSL_CPUID_SETUP
 typedef unsigned long long IA32CAP;
 void
Index: md32_common.h
===================================================================
RCS file: /cvs/src/lib/libcrypto/md32_common.h,v
retrieving revision 1.21
diff -u -p -r1.21 md32_common.h
--- md32_common.h       4 Sep 2016 14:31:29 -0000       1.21
+++ md32_common.h       4 Nov 2016 08:49:22 -0000
@@ -152,8 +152,8 @@ static inline uint32_t ROTATE(uint32_t a
 #if defined(DATA_ORDER_IS_BIG_ENDIAN)
 
 #if defined(__GNUC__) && __GNUC__>=2 && !defined(OPENSSL_NO_ASM) && 
!defined(OPENSSL_NO_INLINE_ASM)
-# if ((defined(__i386) || defined(__i386__)) && !defined(I386_ONLY)) || \
-      (defined(__x86_64) || defined(__x86_64__))
+# if (defined(__i386) || defined(__i386__) || \
+      defined(__x86_64) || defined(__x86_64__))
     /*
      * This gives ~30-40% performance improvement in SHA-256 compiled
      * with gcc [on P4]. Well, first macro to be frank. We can pull
Index: arch/alpha/opensslconf.h
===================================================================
RCS file: /cvs/src/lib/libcrypto/arch/alpha/opensslconf.h,v
retrieving revision 1.7
diff -u -p -r1.7 opensslconf.h
--- arch/alpha/opensslconf.h    19 Jun 2015 06:05:11 -0000      1.7
+++ arch/alpha/opensslconf.h    4 Nov 2016 08:49:22 -0000
@@ -1,9 +1,6 @@
 #include <openssl/opensslfeatures.h>
 /* crypto/opensslconf.h.in */
 
-/* Generate 80386 code? */
-#undef I386_ONLY
-
 #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
 #define OPENSSLDIR "/etc/ssl"
 #endif
Index: arch/amd64/opensslconf.h
===================================================================
RCS file: /cvs/src/lib/libcrypto/arch/amd64/opensslconf.h,v
retrieving revision 1.9
diff -u -p -r1.9 opensslconf.h
--- arch/amd64/opensslconf.h    19 Jun 2015 06:05:11 -0000      1.9
+++ arch/amd64/opensslconf.h    4 Nov 2016 08:49:22 -0000
@@ -1,9 +1,6 @@
 #include <openssl/opensslfeatures.h>
 /* crypto/opensslconf.h.in */
 
-/* Generate 80386 code? */
-#undef I386_ONLY
-
 #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
 #define OPENSSLDIR "/etc/ssl"
 #endif
Index: arch/arm/opensslconf.h
===================================================================
RCS file: /cvs/src/lib/libcrypto/arch/arm/opensslconf.h,v
retrieving revision 1.7
diff -u -p -r1.7 opensslconf.h
--- arch/arm/opensslconf.h      19 Jun 2015 06:05:11 -0000      1.7
+++ arch/arm/opensslconf.h      4 Nov 2016 08:49:22 -0000
@@ -1,9 +1,6 @@
 #include <openssl/opensslfeatures.h>
 /* crypto/opensslconf.h.in */
 
-/* Generate 80386 code? */
-#undef I386_ONLY
-
 #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
 #define OPENSSLDIR "/etc/ssl"
 #endif
Index: arch/hppa/opensslconf.h
===================================================================
RCS file: /cvs/src/lib/libcrypto/arch/hppa/opensslconf.h,v
retrieving revision 1.7
diff -u -p -r1.7 opensslconf.h
--- arch/hppa/opensslconf.h     19 Jun 2015 06:05:11 -0000      1.7
+++ arch/hppa/opensslconf.h     4 Nov 2016 08:49:22 -0000
@@ -1,9 +1,6 @@
 #include <openssl/opensslfeatures.h>
 /* crypto/opensslconf.h.in */
 
-/* Generate 80386 code? */
-#undef I386_ONLY
-
 #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
 #define OPENSSLDIR "/etc/ssl"
 #endif
Index: arch/i386/opensslconf.h
===================================================================
RCS file: /cvs/src/lib/libcrypto/arch/i386/opensslconf.h,v
retrieving revision 1.7
diff -u -p -r1.7 opensslconf.h
--- arch/i386/opensslconf.h     19 Jun 2015 06:05:11 -0000      1.7
+++ arch/i386/opensslconf.h     4 Nov 2016 08:49:22 -0000
@@ -1,9 +1,6 @@
 #include <openssl/opensslfeatures.h>
 /* crypto/opensslconf.h.in */
 
-/* Generate 80386 code? */
-#undef I386_ONLY
-
 #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
 #define OPENSSLDIR "/etc/ssl"
 #endif
Index: arch/m88k/opensslconf.h
===================================================================
RCS file: /cvs/src/lib/libcrypto/arch/m88k/opensslconf.h,v
retrieving revision 1.7
diff -u -p -r1.7 opensslconf.h
--- arch/m88k/opensslconf.h     19 Jun 2015 06:05:11 -0000      1.7
+++ arch/m88k/opensslconf.h     4 Nov 2016 08:49:22 -0000
@@ -1,9 +1,6 @@
 #include <openssl/opensslfeatures.h>
 /* crypto/opensslconf.h.in */
 
-/* Generate 80386 code? */
-#undef I386_ONLY
-
 #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
 #define OPENSSLDIR "/etc/ssl"
 #endif
Index: arch/mips64/opensslconf.h
===================================================================
RCS file: /cvs/src/lib/libcrypto/arch/mips64/opensslconf.h,v
retrieving revision 1.7
diff -u -p -r1.7 opensslconf.h
--- arch/mips64/opensslconf.h   19 Jun 2015 06:05:11 -0000      1.7
+++ arch/mips64/opensslconf.h   4 Nov 2016 08:49:22 -0000
@@ -1,9 +1,6 @@
 #include <openssl/opensslfeatures.h>
 /* crypto/opensslconf.h.in */
 
-/* Generate 80386 code? */
-#undef I386_ONLY
-
 #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
 #define OPENSSLDIR "/etc/ssl"
 #endif
Index: arch/powerpc/opensslconf.h
===================================================================
RCS file: /cvs/src/lib/libcrypto/arch/powerpc/opensslconf.h,v
retrieving revision 1.7
diff -u -p -r1.7 opensslconf.h
--- arch/powerpc/opensslconf.h  19 Jun 2015 06:05:11 -0000      1.7
+++ arch/powerpc/opensslconf.h  4 Nov 2016 08:49:22 -0000
@@ -1,9 +1,6 @@
 #include <openssl/opensslfeatures.h>
 /* crypto/opensslconf.h.in */
 
-/* Generate 80386 code? */
-#undef I386_ONLY
-
 #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
 #define OPENSSLDIR "/etc/ssl"
 #endif
Index: arch/sh/opensslconf.h
===================================================================
RCS file: /cvs/src/lib/libcrypto/arch/sh/opensslconf.h,v
retrieving revision 1.7
diff -u -p -r1.7 opensslconf.h
--- arch/sh/opensslconf.h       19 Jun 2015 06:05:11 -0000      1.7
+++ arch/sh/opensslconf.h       4 Nov 2016 08:49:22 -0000
@@ -1,9 +1,6 @@
 #include <openssl/opensslfeatures.h>
 /* crypto/opensslconf.h.in */
 
-/* Generate 80386 code? */
-#undef I386_ONLY
-
 #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
 #define OPENSSLDIR "/etc/ssl"
 #endif
Index: arch/sparc/opensslconf.h
===================================================================
RCS file: /cvs/src/lib/libcrypto/arch/sparc/opensslconf.h,v
retrieving revision 1.7
diff -u -p -r1.7 opensslconf.h
--- arch/sparc/opensslconf.h    19 Jun 2015 06:05:11 -0000      1.7
+++ arch/sparc/opensslconf.h    4 Nov 2016 08:49:22 -0000
@@ -1,9 +1,6 @@
 #include <openssl/opensslfeatures.h>
 /* crypto/opensslconf.h.in */
 
-/* Generate 80386 code? */
-#undef I386_ONLY
-
 #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
 #define OPENSSLDIR "/etc/ssl"
 #endif
Index: arch/sparc64/opensslconf.h
===================================================================
RCS file: /cvs/src/lib/libcrypto/arch/sparc64/opensslconf.h,v
retrieving revision 1.7
diff -u -p -r1.7 opensslconf.h
--- arch/sparc64/opensslconf.h  19 Jun 2015 06:05:11 -0000      1.7
+++ arch/sparc64/opensslconf.h  4 Nov 2016 08:49:22 -0000
@@ -1,9 +1,6 @@
 #include <openssl/opensslfeatures.h>
 /* crypto/opensslconf.h.in */
 
-/* Generate 80386 code? */
-#undef I386_ONLY
-
 #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
 #define OPENSSLDIR "/etc/ssl"
 #endif
Index: engine/eng_padlock.c
===================================================================
RCS file: /cvs/src/lib/libcrypto/engine/eng_padlock.c,v
retrieving revision 1.14
diff -u -p -r1.14 eng_padlock.c
--- engine/eng_padlock.c        7 Feb 2015 13:19:15 -0000       1.14
+++ engine/eng_padlock.c        4 Nov 2016 08:49:23 -0000
@@ -100,7 +100,7 @@
    In addition, because of the heavy use of inline assembler,
    compiler choice is limited to GCC and Microsoft C. */
 #undef COMPILE_HW_PADLOCK
-#if !defined(I386_ONLY) && !defined(OPENSSL_NO_INLINE_ASM)
+#if !defined(OPENSSL_NO_INLINE_ASM)
 # if (defined(__GNUC__) && (defined(__i386__) || defined(__i386)))
 #  define COMPILE_HW_PADLOCK
 # endif
Index: evp/e_aes.c
===================================================================
RCS file: /cvs/src/lib/libcrypto/evp/e_aes.c,v
retrieving revision 1.29
diff -u -p -r1.29 e_aes.c
--- evp/e_aes.c 10 Sep 2015 15:56:25 -0000      1.29
+++ evp/e_aes.c 4 Nov 2016 08:49:23 -0000
@@ -143,14 +143,14 @@ void AES_xts_decrypt(const char *inp, ch
     const AES_KEY *key1, const AES_KEY *key2, const unsigned char iv[16]);
 #endif
 
-#if    defined(AES_ASM) && !defined(I386_ONLY) &&      (  \
+#if    defined(AES_ASM) &&                             (  \
        ((defined(__i386)       || defined(__i386__)    || \
          defined(_M_IX86)) && defined(OPENSSL_IA32_SSE2))|| \
        defined(__x86_64)       || defined(__x86_64__)  || \
        defined(_M_AMD64)       || defined(_M_X64)      || \
        defined(__INTEL__)                              )
 
-extern unsigned int OPENSSL_ia32cap_P[2];
+extern unsigned int OPENSSL_ia32cap_P[];
 
 #ifdef VPAES_ASM
 #define VPAES_CAPABLE  (OPENSSL_ia32cap_P[1]&(1<<(41-32)))
Index: modes/gcm128.c
===================================================================
RCS file: /cvs/src/lib/libcrypto/modes/gcm128.c,v
retrieving revision 1.13
diff -u -p -r1.13 gcm128.c
--- modes/gcm128.c      10 Sep 2015 15:56:25 -0000      1.13
+++ modes/gcm128.c      4 Nov 2016 08:49:23 -0000
@@ -638,8 +638,7 @@ static void gcm_gmult_1bit(u64 Xi[2],con
 #endif
 
 #if    TABLE_BITS==4 && defined(GHASH_ASM)
-# if   !defined(I386_ONLY) && \
-       (defined(__i386)        || defined(__i386__)    || \
+# if   (defined(__i386)        || defined(__i386__)    || \
         defined(__x86_64)      || defined(__x86_64__)  || \
         defined(_M_IX86)       || defined(_M_AMD64)    || defined(_M_X64))
 #  define GHASH_ASM_X86_OR_64
Index: modes/modes_lcl.h
===================================================================
RCS file: /cvs/src/lib/libcrypto/modes/modes_lcl.h,v
retrieving revision 1.8
diff -u -p -r1.8 modes_lcl.h
--- modes/modes_lcl.h   10 Jul 2014 22:45:57 -0000      1.8
+++ modes/modes_lcl.h   4 Nov 2016 08:49:23 -0000
@@ -34,7 +34,7 @@ typedef unsigned char u8;
 #  define BSWAP4(x) ({ u32 ret=(x);                    \
                        asm ("bswapl %0"                \
                        : "+r"(ret));   ret;            })
-# elif (defined(__i386) || defined(__i386__)) && !defined(I386_ONLY)
+# elif (defined(__i386) || defined(__i386__))
 #  define BSWAP8(x) ({ u32 lo=(u64)(x)>>32,hi=(x);     \
                        asm ("bswapl %0; bswapl %1"     \
                        : "+r"(hi),"+r"(lo));           \
Index: sha/sha512.c
===================================================================
RCS file: /cvs/src/lib/libcrypto/sha/sha512.c,v
retrieving revision 1.14
diff -u -p -r1.14 sha512.c
--- sha/sha512.c        10 Sep 2015 15:56:26 -0000      1.14
+++ sha/sha512.c        4 Nov 2016 08:49:23 -0000
@@ -320,23 +320,12 @@ static const SHA_LONG64 K512[80] = {
                                : "=r"(ret)                     \
                                : "0"(ret)); ret;               })
 # elif (defined(__i386) || defined(__i386__))
-#  if defined(I386_ONLY)
-#   define PULL64(x) ({ const unsigned int *p=(const unsigned int *)(&(x));\
-                        unsigned int hi=p[0],lo=p[1];          \
-                               asm("xchgb %%ah,%%al;xchgb %%dh,%%dl;"\
-                                   "roll $16,%%eax; roll $16,%%edx; "\
-                                   "xchgb %%ah,%%al;xchgb %%dh,%%dl;" \
-                               : "=a"(lo),"=d"(hi)             \
-                               : "0"(lo),"1"(hi) : "cc");      \
-                               ((SHA_LONG64)hi)<<32|lo;        })
-#  else
 #   define PULL64(x) ({ const unsigned int *p=(const unsigned int *)(&(x));\
                         unsigned int hi=p[0],lo=p[1];          \
                                asm ("bswapl %0; bswapl %1;"    \
                                : "=r"(lo),"=r"(hi)             \
                                : "0"(lo),"1"(hi));             \
                                ((SHA_LONG64)hi)<<32|lo;        })
-#  endif
 # elif (defined(_ARCH_PPC) && defined(__64BIT__)) || defined(_ARCH_PPC64)
 #  define ROTR(a,n)    ({ SHA_LONG64 ret;              \
                                asm ("rotrdi %0,%1,%2"  \

Reply via email to