INSTALL: clarify 386 and no-sse2 options.
authorAndy Polyakov <appro@openssl.org>
Fri, 25 Nov 2016 16:50:37 +0000 (17:50 +0100)
committerAndy Polyakov <appro@openssl.org>
Sat, 26 Nov 2016 21:24:10 +0000 (22:24 +0100)
This is 1.0.2-specific reformat of 5ae5dc96610f0a598dac9d2f267b5c0ddd77b2e4.

Reviewed-by: Rich Salz <rsalz@openssl.org>
Configure
INSTALL

index c26c9d78cd73fd7012c15ec1e6dd272fc1eb8668..5da7cadbf3326c104844ed5c37133e57f962493e 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -58,12 +58,13 @@ my $usage="Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [experimenta
 # zlib-dynamic Like "zlib", but the zlib library is expected to be a shared
 #              library and will be loaded in run-time by the OpenSSL library.
 # sctp          include SCTP support
-# 386           generate 80386 code
 # enable-weak-ssl-ciphers
 #              Enable EXPORT and LOW SSLv3 ciphers that are disabled by
 #              default.  Note, weak SSLv2 ciphers are unconditionally
 #              disabled.
-# no-sse2      disables IA-32 SSE2 code, above option implies no-sse2
+# 386          generate 80386 code in assembly modules
+# no-sse2      disables IA-32 SSE2 code in assembly modules, the above
+#              mentioned '386' option implies this one
 # no-<cipher>   build without specified algorithm (rsa, idea, rc5, ...)
 # -<xxx> +<xxx> compiler options are passed through 
 #
diff --git a/INSTALL b/INSTALL
index 475ac9231e47242d7bcf4b5c93f893d8db3cb992..aa7e35fa79fea00f478365ced990d8726c5ae980 100644 (file)
--- a/INSTALL
+++ b/INSTALL
 
   no-asm        Do not use assembler code.
 
-  386           Use the 80386 instruction set only (the default x86 code is
-                more efficient, but requires at least a 486). Note: Use
-                compiler flags for any other CPU specific configuration,
-                e.g. "-m32" to build x86 code on an x64 system.
-
-  no-sse2      Exclude SSE2 code pathes. Normally SSE2 extention is
-               detected at run-time, but the decision whether or not the
-               machine code will be executed is taken solely on CPU
-               capability vector. This means that if you happen to run OS
-               kernel which does not support SSE2 extension on Intel P4
-               processor, then your application might be exposed to
-               "illegal instruction" exception. There might be a way
-               to enable support in kernel, e.g. FreeBSD kernel can be
-               compiled with CPU_ENABLE_SSE, and there is a way to
-               disengage SSE2 code pathes upon application start-up,
-               but if you aim for wider "audience" running such kernel,
-               consider no-sse2. Both 386 and no-asm options above imply
-               no-sse2.
+  386           In 32-bit x86 builds, when generating assembly modules,
+                use the 80386 instruction set only (the default x86 code
+                is more efficient, but requires at least a 486). Note:
+                This doesn't affect code generated by compiler, you're
+                likely to complement configuration command line with
+                suitable compiler-specific option.
+
+  no-sse2       Exclude SSE2 code paths from 32-bit x86 assembly modules.
+                Normally SSE2 extension is detected at run-time, but the
+                decision whether or not the machine code will be executed
+                is taken solely on CPU capability vector. This means that
+                if you happen to run OS kernel which does not support SSE2
+                extension on Intel P4 processor, then your application
+                might be exposed to "illegal instruction" exception.
+                There might be a way to enable support in kernel, e.g.
+                FreeBSD kernel can  be compiled with CPU_ENABLE_SSE, and
+                there is a way to disengage SSE2 code paths upon application
+                start-up, but if you aim for wider "audience" running
+                such kernel, consider no-sse2. Both the 386 and
+                no-asm options imply no-sse2.
 
   no-<cipher>   Build without the specified cipher (bf, cast, des, dh, dsa,
                 hmac, md2, md5, mdc2, rc2, rc4, rc5, rsa, sha).
   -Dxxx, -lxxx, -Lxxx, -fxxx, -mXXX, -Kxxx These system specific options will
                 be passed through to the compiler to allow you to
                 define preprocessor symbols, specify additional libraries,
-                library directories or other compiler options.
+                library directories or other compiler options. It might be
+                worth noting that some compilers generate code specifically
+                for processor the compiler currently executes on. This is
+                not necessarily what you might have in mind, since it might
+                be unsuitable for execution on other, typically older,
+                processor. Consult your compiler documentation.
 
   -DHAVE_CRYPTODEV Enable the BSD cryptodev engine even if we are not using
                BSD. Useful if you are running ocf-linux or something