[openssl-commits] [openssl] master update
Andy Polyakov
appro at openssl.org
Fri Nov 25 16:35:40 UTC 2016
The branch master has been updated
via 5ae5dc96610f0a598dac9d2f267b5c0ddd77b2e4 (commit)
from 76f572ed0469a277d92378848250b7a9705d3071 (commit)
- Log -----------------------------------------------------------------
commit 5ae5dc96610f0a598dac9d2f267b5c0ddd77b2e4
Author: Andy Polyakov <appro at openssl.org>
Date: Sun Nov 20 21:52:41 2016 +0100
INSTALL: clarify 386 and no-sse2 options.
Reviewed-by: Rich Salz <rsalz at openssl.org>
Reviewed-by: Richard Levitte <levitte at openssl.org>
-----------------------------------------------------------------------
Summary of changes:
Configure | 5 +++--
INSTALL | 44 +++++++++++++++++++++++++-------------------
2 files changed, 28 insertions(+), 21 deletions(-)
diff --git a/Configure b/Configure
index 2bdf87b..c005781 100755
--- a/Configure
+++ b/Configure
@@ -60,11 +60,12 @@ my $usage="Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [-Dxxx] [-lx
# 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 weak ciphers that are disabled by default. This currently
# only includes RC4 based ciphers.
-# 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
# -static while -static is also a pass-through compiler option (and
diff --git a/INSTALL b/INSTALL
index 2007148..fa50091 100644
--- a/INSTALL
+++ b/INSTALL
@@ -383,19 +383,19 @@
Don't build SRTP support
no-sse2
- Exclude SSE2 code paths. 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.
+ 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.
enable-ssl-trace
Build with the SSL Trace capabilities (adds the "-trace"
@@ -458,11 +458,12 @@
where loading of shared libraries is supported.
386
- On Intel hardware, 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.
+ 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.
enable-tls1_3
TODO(TLS1.3): Make this enabled by default
@@ -500,7 +501,12 @@
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.
+ 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.
Installation in Detail
More information about the openssl-commits
mailing list