mirror of
https://github.com/nodejs/node-v0.x-archive.git
synced 2026-04-28 03:01:10 -04:00
Merge remote-tracking branch 'origin/v0.10'
Conflicts: AUTHORS ChangeLog deps/uv/ChangeLog deps/uv/src/version.c lib/http.js src/node_crypto.cc src/node_os.cc src/node_version.h test/simple/helper-debugger-repl.js
This commit is contained in:
5
AUTHORS
5
AUTHORS
@@ -434,13 +434,16 @@ Benjamin Ruston <benjy.ruston@gmail.com>
|
||||
Manav Rathi <manav.r@directi.com>
|
||||
Marcin Kostrzewa <marcinkostrzewa@yahoo.com>
|
||||
Suwon Chae <doortts@gmail.com>
|
||||
David Braun <NodeJS-box@snkmail.com>
|
||||
Mitar Milutinovic <mitar.git@tnode.com>
|
||||
Michael Hart <michael.hart.au@gmail.com>
|
||||
Andrew Hart <hartandrewr@gmail.com>
|
||||
Rafael Garcia <rgarcia2009@gmail.com>
|
||||
Tobias Müllerleile <tobias@muellerleile.net>
|
||||
David Braun <NodeJS-box@snkmail.com>
|
||||
Stanislav Ochotnicky <sochotnicky@redhat.com>
|
||||
Ryan Graham <r.m.graham@gmail.com>
|
||||
Kelly Gerber <kellygerber22@yahoo.com>
|
||||
Ryan Doenges <rhdoenges@gmail.com>
|
||||
Sean Silva <chisophugis@gmail.com>
|
||||
Miroslav Bajtoš <miro.bajtos@gmail.com>
|
||||
Olof Johansson <olof@ethup.se>
|
||||
|
||||
110
ChangeLog
110
ChangeLog
@@ -1,3 +1,24 @@
|
||||
2013.04.23, Version 0.10.5 (Stable)
|
||||
|
||||
* uv: Upgrade to 0.10.5 (isaacs)
|
||||
|
||||
* build: added support for Visual Studio 2012 (Miroslav Bajtoš)
|
||||
|
||||
* http: Don't try to destroy nonexistent sockets (isaacs)
|
||||
|
||||
* crypto: LazyTransform on properties, not methods (isaacs)
|
||||
|
||||
* assert: put info in err.message, not err.name (Ryan Doenges)
|
||||
|
||||
* dgram: fix no address bind() (Ben Noordhuis)
|
||||
|
||||
* handle_wrap: fix NULL pointer dereference (Ben Noordhuis)
|
||||
|
||||
* os: fix unlikely buffer overflow in os.type() (Ben Noordhuis)
|
||||
|
||||
* stream: Fix unshift() race conditions (isaacs)
|
||||
|
||||
|
||||
2013.04.19, Version 0.11.1 (Unstable)
|
||||
|
||||
* V8: upgrade to 3.18.0
|
||||
@@ -25,42 +46,7 @@
|
||||
* zlib: allow passing options to convenience methods (Kyle Robinson Young)
|
||||
|
||||
|
||||
2013.03.28, Version 0.11.0 (Unstable), bce38b3d74e64fcb7d04a2dd551151da6168cdc5
|
||||
|
||||
* V8: update to 3.17.13
|
||||
|
||||
* os: use %SystemRoot% or %windir% in os.tmpdir() (Suwon Chae)
|
||||
|
||||
* util: fix util.inspect() line width calculation (Marcin Kostrzewa)
|
||||
|
||||
* buffer: remove _charsWritten (Trevor Norris)
|
||||
|
||||
* fs: uv_[fl]stat now reports subsecond resolution (Timothy J Fontaine)
|
||||
|
||||
* fs: Throw if error raised and missing callback (bnoordhuis)
|
||||
|
||||
* tls: expose SSL_CTX_set_timeout via tls.createServer (Manav Rathi)
|
||||
|
||||
* tls: remove harmful unnecessary bounds checking (Marcel Laverdet)
|
||||
|
||||
* buffer: write ascii strings using WriteOneByte (Trevor Norris)
|
||||
|
||||
* dtrace: fix generation of v8 constants on freebsd (Fedor Indutny)
|
||||
|
||||
* dtrace: x64 ustack helper (Fedor Indutny)
|
||||
|
||||
* readline: handle wide characters properly (Nao Iizuka)
|
||||
|
||||
* repl: Use a domain to catch async errors safely (isaacs)
|
||||
|
||||
* repl: emit 'reset' event when context is reset (Sami Samhuri)
|
||||
|
||||
* util: custom `inspect()` method may return an Object (Nathan Rajlich)
|
||||
|
||||
* console: `console.dir()` bypasses inspect() methods (Nathan Rajlich)
|
||||
|
||||
|
||||
2013.04.11, Version 0.10.4 (Stable)
|
||||
2013.04.11, Version 0.10.4 (Stable), 9712aa9f76073c30850b20a188b1ed12ffb74d17
|
||||
|
||||
* uv: Upgrade to 0.10.4
|
||||
|
||||
@@ -118,6 +104,41 @@
|
||||
* src: tie process.versions.uv to uv_version_string() (Ben Noordhuis)
|
||||
|
||||
|
||||
2013.03.28, Version 0.11.0 (Unstable), bce38b3d74e64fcb7d04a2dd551151da6168cdc5
|
||||
|
||||
* V8: update to 3.17.13
|
||||
|
||||
* os: use %SystemRoot% or %windir% in os.tmpdir() (Suwon Chae)
|
||||
|
||||
* util: fix util.inspect() line width calculation (Marcin Kostrzewa)
|
||||
|
||||
* buffer: remove _charsWritten (Trevor Norris)
|
||||
|
||||
* fs: uv_[fl]stat now reports subsecond resolution (Timothy J Fontaine)
|
||||
|
||||
* fs: Throw if error raised and missing callback (bnoordhuis)
|
||||
|
||||
* tls: expose SSL_CTX_set_timeout via tls.createServer (Manav Rathi)
|
||||
|
||||
* tls: remove harmful unnecessary bounds checking (Marcel Laverdet)
|
||||
|
||||
* buffer: write ascii strings using WriteOneByte (Trevor Norris)
|
||||
|
||||
* dtrace: fix generation of v8 constants on freebsd (Fedor Indutny)
|
||||
|
||||
* dtrace: x64 ustack helper (Fedor Indutny)
|
||||
|
||||
* readline: handle wide characters properly (Nao Iizuka)
|
||||
|
||||
* repl: Use a domain to catch async errors safely (isaacs)
|
||||
|
||||
* repl: emit 'reset' event when context is reset (Sami Samhuri)
|
||||
|
||||
* util: custom `inspect()` method may return an Object (Nathan Rajlich)
|
||||
|
||||
* console: `console.dir()` bypasses inspect() methods (Nathan Rajlich)
|
||||
|
||||
|
||||
2013.03.28, Version 0.10.2 (Stable), 1e0de9c426e07a260bbec2d2196c2d2db8eb8886
|
||||
|
||||
* npm: Upgrade to 1.2.15
|
||||
@@ -684,6 +705,23 @@
|
||||
* Fix #3521 Make process.env more like a regular Object (isaacs)
|
||||
|
||||
|
||||
2013.04.09, Version 0.8.23 (maintenance), c67f8d0500fe15637a623eb759d2ad7eb9fb3b0b
|
||||
|
||||
* npm: Upgrade to v1.2.18
|
||||
|
||||
* http: Avoid EE warning on ECONNREFUSED handling (isaacs)
|
||||
|
||||
* tls: Re-enable check of CN-ID in cert verification (Tobias Müllerleile)
|
||||
|
||||
* child_process: fix sending utf-8 to child process (Ben Noordhuis)
|
||||
|
||||
* crypto: check key type in GetPeerCertificate() (Ben Noordhuis)
|
||||
|
||||
* win/openssl: mark assembled object files as seh safe (Bert Belder)
|
||||
|
||||
* windows/msi: fix msi build issue with WiX 3.7/3.8 (Raymond Feng)
|
||||
|
||||
|
||||
2013.03.07, Version 0.8.22 (Stable), 67a4cb4fe8c2346e30ffb83f7178e205cc2dab33
|
||||
|
||||
* npm: Update to 1.2.14
|
||||
|
||||
96
deps/openssl/README.chromium
vendored
Normal file
96
deps/openssl/README.chromium
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
Name: openssl
|
||||
URL: http://openssl.org/source/
|
||||
Version: 1.0.0f
|
||||
License: BSDish
|
||||
License File: openssl/LICENSE
|
||||
|
||||
Description:
|
||||
This is OpenSSL, the standard SSL/TLS library, which is used only in Android.
|
||||
|
||||
It's an unmodified, upstream source except for the patches listed below.
|
||||
|
||||
|
||||
********************************************************************************
|
||||
The following patches are taken from Android Open Source Project.
|
||||
|
||||
|
||||
progs.patch:
|
||||
|
||||
Fixup sources under the apps/ directory that are not built under the android environment.
|
||||
|
||||
|
||||
small_records.patch:
|
||||
|
||||
Reduce OpenSSL memory consumption.
|
||||
SSL records may be as large as 16K, but are typically < 2K. In
|
||||
addition, a historic bug in Windows allowed records to be as large
|
||||
32K. OpenSSL statically allocates read and write buffers (34K and
|
||||
18K respectively) used for processing records.
|
||||
With this patch, OpenSSL statically allocates 4K + 4K buffers, with
|
||||
the option of dynamically growing buffers to 34K + 4K, which is a
|
||||
saving of 44K per connection for the typical case.
|
||||
|
||||
|
||||
handshake_cutthrough.patch
|
||||
|
||||
Enables SSL3+ clients to send application data immediately following the
|
||||
Finished message even when negotiating full-handshakes. With this patch,
|
||||
clients can negotiate SSL connections in 1-RTT even when performing
|
||||
full-handshakes.
|
||||
|
||||
|
||||
jsse.patch
|
||||
|
||||
Support for JSSE implementation based on OpenSSL.
|
||||
|
||||
|
||||
npn.patch
|
||||
|
||||
Transport Layer Security (TLS) Next Protocol Negotiation Extension
|
||||
|
||||
|
||||
sha1_armv4_large.patch
|
||||
|
||||
This patch eliminates memory stores to addresses below SP.
|
||||
|
||||
|
||||
openssl_no_dtls1.patch
|
||||
|
||||
Add missing #ifndef OPENSSL_NO_DTLS1
|
||||
|
||||
|
||||
********************************************************************************
|
||||
The following patches are needed to compile this openssl on Chromium and pass
|
||||
the related net unit tests.
|
||||
|
||||
|
||||
empty_OPENSSL_cpuid_setup.patch
|
||||
|
||||
Use a empty implementation for function OPENSSL_cpuid_setup to resolve link
|
||||
error. We should figure out how to geenrate platform specific implementation
|
||||
of OPENSSL_cpuid_setup by leveraging crypto/*cpuid.pl.
|
||||
|
||||
|
||||
x509_hash_name_algorithm_change.patch
|
||||
|
||||
There are many symbolic links under /etc/ssl/certs created by using hash of
|
||||
the pem certificates in order for OpenSSL to find those certificate.
|
||||
Openssl has a tool to help you create hash symbolic links. (See tools/c_rehash)
|
||||
However the new openssl changed the hash algorithm, Unless you compile/install
|
||||
the latest openssl library and re-create all related symbolic links, the new
|
||||
openssl can not find some certificates because the links of those certificates
|
||||
were created by using old hash algorithm, which causes some tests failed.
|
||||
This patch gives a way to find a certificate according to its hash by using both
|
||||
new algorithm and old algorithm.
|
||||
crbug.com/111045 is used to track this issue.
|
||||
|
||||
|
||||
tls_exporter.patch
|
||||
|
||||
Keying Material Exporters for Transport Layer Security (RFC 5705).
|
||||
|
||||
|
||||
Android platform support
|
||||
|
||||
Copy config/android/openssl/opensslconf.h from Android's
|
||||
external/openssl/include/openssl/opensslconf.h
|
||||
30
deps/openssl/asm/Makefile
vendored
30
deps/openssl/asm/Makefile
vendored
@@ -4,7 +4,6 @@ PERL += -I../openssl/crypto/perlasm -I../openssl/crypto/bn/asm
|
||||
|
||||
OUTPUTS = \
|
||||
x86-elf-gas/aes/aes-586.s \
|
||||
x86-elf-gas/aes/aesni-x86.s \
|
||||
x86-elf-gas/bf/bf-686.s \
|
||||
x86-elf-gas/bn/x86-mont.s \
|
||||
x86-elf-gas/bn/x86.s \
|
||||
@@ -22,20 +21,15 @@ OUTPUTS = \
|
||||
x86-elf-gas/whrlpool/wp-mmx.s \
|
||||
x86-elf-gas/x86cpuid.s \
|
||||
x64-elf-gas/aes/aes-x86_64.s \
|
||||
x64-elf-gas/aes/aesni-x86_64.s \
|
||||
x64-elf-gas/aes/aesni-sha1-x86_64.s \
|
||||
x64-elf-gas/bn/modexp512-x86_64.s \
|
||||
x64-elf-gas/bn/x86_64-mont.s \
|
||||
x64-elf-gas/camellia/cmll-x86_64.s \
|
||||
x64-elf-gas/md5/md5-x86_64.s \
|
||||
x64-elf-gas/rc4/rc4-x86_64.s \
|
||||
x64-elf-gas/rc4/rc4-md5-x86_64.s \
|
||||
x64-elf-gas/sha/sha1-x86_64.s \
|
||||
x64-elf-gas/sha/sha512-x86_64.s \
|
||||
x64-elf-gas/whrlpool/wp-x86_64.s \
|
||||
x64-elf-gas/x86_64cpuid.s \
|
||||
x86-macosx-gas/aes/aes-586.s \
|
||||
x86-macosx-gas/aes/aesni-x86.s \
|
||||
x86-macosx-gas/bf/bf-686.s \
|
||||
x86-macosx-gas/bn/x86-mont.s \
|
||||
x86-macosx-gas/bn/x86.s \
|
||||
@@ -53,20 +47,15 @@ OUTPUTS = \
|
||||
x86-macosx-gas/whrlpool/wp-mmx.s \
|
||||
x86-macosx-gas/x86cpuid.s \
|
||||
x64-macosx-gas/aes/aes-x86_64.s \
|
||||
x64-macosx-gas/aes/aesni-x86_64.s \
|
||||
x64-macosx-gas/aes/aesni-sha1-x86_64.s \
|
||||
x64-macosx-gas/bn/modexp512-x86_64.s \
|
||||
x64-macosx-gas/bn/x86_64-mont.s \
|
||||
x64-macosx-gas/camellia/cmll-x86_64.s \
|
||||
x64-macosx-gas/md5/md5-x86_64.s \
|
||||
x64-macosx-gas/rc4/rc4-x86_64.s \
|
||||
x64-macosx-gas/rc4/rc4-md5-x86_64.s \
|
||||
x64-macosx-gas/sha/sha1-x86_64.s \
|
||||
x64-macosx-gas/sha/sha512-x86_64.s \
|
||||
x64-macosx-gas/whrlpool/wp-x86_64.s \
|
||||
x64-macosx-gas/x86_64cpuid.s \
|
||||
x86-win32-masm/aes/aes-586.asm \
|
||||
x86-win32-masm/aes/aesni-x86.asm \
|
||||
x86-win32-masm/bf/bf-686.asm \
|
||||
x86-win32-masm/bn/x86-mont.asm \
|
||||
x86-win32-masm/bn/x86.asm \
|
||||
@@ -84,14 +73,10 @@ OUTPUTS = \
|
||||
x86-win32-masm/whrlpool/wp-mmx.asm \
|
||||
x86-win32-masm/x86cpuid.asm \
|
||||
x64-win32-masm/aes/aes-x86_64.asm \
|
||||
x64-win32-masm/aes/aesni-x86_64.asm \
|
||||
x64-win32-masm/aes/aesni-sha1-x86_64.asm \
|
||||
x64-win32-masm/bn/modexp512-x86_64.asm \
|
||||
x64-win32-masm/bn/x86_64-mont.asm \
|
||||
x64-win32-masm/camellia/cmll-x86_64.asm \
|
||||
x64-win32-masm/md5/md5-x86_64.asm \
|
||||
x64-win32-masm/rc4/rc4-x86_64.asm \
|
||||
x64-win32-masm/rc4/rc4-md5-x86_64.asm \
|
||||
x64-win32-masm/sha/sha1-x86_64.asm \
|
||||
x64-win32-masm/sha/sha512-x86_64.asm \
|
||||
x64-win32-masm/whrlpool/wp-x86_64.asm \
|
||||
@@ -119,46 +104,33 @@ clean:
|
||||
find . -iname '*.s' -exec rm "{}" \;
|
||||
|
||||
x64-elf-gas/aes/aes-x86_64.s: ../openssl/crypto/aes/asm/aes-x86_64.pl
|
||||
x64-elf-gas/aes/aesni-x86_64.s: ../openssl/crypto/aes/asm/aesni-x86_64.pl
|
||||
x64-elf-gas/aes/aesni-sha1-x86_64.s: ../openssl/crypto/aes/asm/aesni-sha1-x86_64.pl
|
||||
x64-elf-gas/bn/modexp512-x86_64.s: ../openssl/crypto/bn/asm/modexp512-x86_64.pl
|
||||
x64-elf-gas/bn/x86_64-mont.s: ../openssl/crypto/bn/asm/x86_64-mont.pl
|
||||
x64-elf-gas/camellia/cmll-x86_64.s: ../openssl/crypto/camellia/asm/cmll-x86_64.pl
|
||||
x64-elf-gas/md5/md5-x86_64.s: ../openssl/crypto/md5/asm/md5-x86_64.pl
|
||||
x64-elf-gas/rc4/rc4-x86_64.s: ../openssl/crypto/rc4/asm/rc4-x86_64.pl
|
||||
x64-elf-gas/rc4/rc4-md5-x86_64.s: ../openssl/crypto/rc4/asm/rc4-md5-x86_64.pl
|
||||
x64-elf-gas/sha/sha1-x86_64.s: ../openssl/crypto/sha/asm/sha1-x86_64.pl
|
||||
x64-elf-gas/sha/sha512-x86_64.s: ../openssl/crypto/sha/asm/sha512-x86_64.pl
|
||||
x64-elf-gas/whrlpool/wp-x86_64.s: ../openssl/crypto/whrlpool/asm/wp-x86_64.pl
|
||||
x64-elf-gas/x86_64cpuid.s: ../openssl/crypto/x86_64cpuid.pl
|
||||
x64-macosx-gas/aes/aes-x86_64.s: ../openssl/crypto/aes/asm/aes-x86_64.pl
|
||||
x64-macosx-gas/aes/aesni-x86_64.s: ../openssl/crypto/aes/asm/aesni-x86_64.pl
|
||||
x64-macosx-gas/aes/aesni-sha1-x86_64.s: ../openssl/crypto/aes/asm/aesni-sha1-x86_64.pl
|
||||
x64-macosx-gas/bn/modexp512-x86_64.s: ../openssl/crypto/bn/asm/modexp512-x86_64.pl
|
||||
x64-macosx-gas/bn/x86_64-mont.s: ../openssl/crypto/bn/asm/x86_64-mont.pl
|
||||
x64-macosx-gas/camellia/cmll-x86_64.s: ../openssl/crypto/camellia/asm/cmll-x86_64.pl
|
||||
x64-macosx-gas/md5/md5-x86_64.s: ../openssl/crypto/md5/asm/md5-x86_64.pl
|
||||
x64-macosx-gas/rc4/rc4-x86_64.s: ../openssl/crypto/rc4/asm/rc4-x86_64.pl
|
||||
x64-macosx-gas/rc4/rc4-md5-x86_64.s: ../openssl/crypto/rc4/asm/rc4-md5-x86_64.pl
|
||||
x64-macosx-gas/sha/sha1-x86_64.s: ../openssl/crypto/sha/asm/sha1-x86_64.pl
|
||||
x64-macosx-gas/sha/sha512-x86_64.s: ../openssl/crypto/sha/asm/sha512-x86_64.pl
|
||||
x64-macosx-gas/whrlpool/wp-x86_64.s: ../openssl/crypto/whrlpool/asm/wp-x86_64.pl
|
||||
x64-macosx-gas/x86_64cpuid.s: ../openssl/crypto/x86_64cpuid.pl
|
||||
x64-win32-masm/aes/aes-x86_64.asm: ../openssl/crypto/aes/asm/aes-x86_64.pl
|
||||
x64-win32-masm/aes/aesni-x86_64.asm: ../openssl/crypto/aes/asm/aesni-x86_64.pl
|
||||
x64-win32-masm/aes/aesni-sha1-x86_64.asm: ../openssl/crypto/aes/asm/aesni-sha1-x86_64.pl
|
||||
x64-win32-masm/bn/modexp512-x86_64.asm: ../openssl/crypto/bn/asm/modexp512-x86_64.pl
|
||||
x64-win32-masm/bn/x86_64-mont.asm: ../openssl/crypto/bn/asm/x86_64-mont.pl
|
||||
x64-win32-masm/camellia/cmll-x86_64.asm: ../openssl/crypto/camellia/asm/cmll-x86_64.pl
|
||||
x64-win32-masm/md5/md5-x86_64.asm: ../openssl/crypto/md5/asm/md5-x86_64.pl
|
||||
x64-win32-masm/rc4/rc4-x86_64.asm: ../openssl/crypto/rc4/asm/rc4-x86_64.pl
|
||||
x64-win32-masm/rc4/rc4-md5-x86_64.asm: ../openssl/crypto/rc4/asm/rc4-md5-x86_64.pl
|
||||
x64-win32-masm/sha/sha1-x86_64.asm: ../openssl/crypto/sha/asm/sha1-x86_64.pl
|
||||
x64-win32-masm/sha/sha512-x86_64.asm: ../openssl/crypto/sha/asm/sha512-x86_64.pl
|
||||
x64-win32-masm/whrlpool/wp-x86_64.asm: ../openssl/crypto/whrlpool/asm/wp-x86_64.pl
|
||||
x64-win32-masm/x86_64cpuid.asm: ../openssl/crypto/x86_64cpuid.pl
|
||||
x86-elf-gas/aes/aes-586.s: ../openssl/crypto/aes/asm/aes-586.pl
|
||||
x86-elf-gas/aes/aesni-x86.s: ../openssl/crypto/aes/asm/aesni-x86.pl
|
||||
x86-elf-gas/bf/bf-686.s: ../openssl/crypto/bf/asm/bf-686.pl
|
||||
x86-elf-gas/bn/x86-mont.s: ../openssl/crypto/bn/asm/x86-mont.pl
|
||||
x86-elf-gas/bn/x86.s: ../openssl/crypto/bn/asm/x86.pl
|
||||
@@ -176,7 +148,6 @@ x86-elf-gas/sha/sha512-586.s: ../openssl/crypto/sha/asm/sha512-586.pl
|
||||
x86-elf-gas/whrlpool/wp-mmx.s: ../openssl/crypto/whrlpool/asm/wp-mmx.pl
|
||||
x86-elf-gas/x86cpuid.s: ../openssl/crypto/x86cpuid.pl
|
||||
x86-macosx-gas/aes/aes-586.s: ../openssl/crypto/aes/asm/aes-586.pl
|
||||
x86-macosx-gas/aes/aesni-x86.s: ../openssl/crypto/aes/asm/aesni-x86.pl
|
||||
x86-macosx-gas/bf/bf-686.s: ../openssl/crypto/bf/asm/bf-686.pl
|
||||
x86-macosx-gas/bn/x86-mont.s: ../openssl/crypto/bn/asm/x86-mont.pl
|
||||
x86-macosx-gas/bn/x86.s: ../openssl/crypto/bn/asm/x86.pl
|
||||
@@ -194,7 +165,6 @@ x86-macosx-gas/sha/sha512-586.s: ../openssl/crypto/sha/asm/sha512-586.pl
|
||||
x86-macosx-gas/whrlpool/wp-mmx.s: ../openssl/crypto/whrlpool/asm/wp-mmx.pl
|
||||
x86-macosx-gas/x86cpuid.s: ../openssl/crypto/x86cpuid.pl
|
||||
x86-win32-masm/aes/aes-586.asm: ../openssl/crypto/aes/asm/aes-586.pl
|
||||
x86-win32-masm/aes/aesni-x86.asm: ../openssl/crypto/aes/asm/aesni-x86.pl
|
||||
x86-win32-masm/bf/bf-686.asm: ../openssl/crypto/bf/asm/bf-686.pl
|
||||
x86-win32-masm/bn/x86.asm: ../openssl/crypto/bn/asm/x86.pl
|
||||
x86-win32-masm/bn/x86-mont.asm: ../openssl/crypto/bn/asm/x86-mont.pl
|
||||
|
||||
25
deps/openssl/asm/x64-elf-gas/aes/aes-x86_64.s
vendored
25
deps/openssl/asm/x64-elf-gas/aes/aes-x86_64.s
vendored
@@ -333,9 +333,6 @@ _x86_64_AES_encrypt_compact:
|
||||
.globl AES_encrypt
|
||||
.type AES_encrypt,@function
|
||||
.align 16
|
||||
.globl asm_AES_encrypt
|
||||
.hidden asm_AES_encrypt
|
||||
asm_AES_encrypt:
|
||||
AES_encrypt:
|
||||
pushq %rbx
|
||||
pushq %rbp
|
||||
@@ -783,9 +780,6 @@ _x86_64_AES_decrypt_compact:
|
||||
.globl AES_decrypt
|
||||
.type AES_decrypt,@function
|
||||
.align 16
|
||||
.globl asm_AES_decrypt
|
||||
.hidden asm_AES_decrypt
|
||||
asm_AES_decrypt:
|
||||
AES_decrypt:
|
||||
pushq %rbx
|
||||
pushq %rbp
|
||||
@@ -849,10 +843,10 @@ AES_decrypt:
|
||||
.Ldec_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.size AES_decrypt,.-AES_decrypt
|
||||
.globl private_AES_set_encrypt_key
|
||||
.type private_AES_set_encrypt_key,@function
|
||||
.globl AES_set_encrypt_key
|
||||
.type AES_set_encrypt_key,@function
|
||||
.align 16
|
||||
private_AES_set_encrypt_key:
|
||||
AES_set_encrypt_key:
|
||||
pushq %rbx
|
||||
pushq %rbp
|
||||
pushq %r12
|
||||
@@ -873,7 +867,7 @@ private_AES_set_encrypt_key:
|
||||
addq $56,%rsp
|
||||
.Lenc_key_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.size private_AES_set_encrypt_key,.-private_AES_set_encrypt_key
|
||||
.size AES_set_encrypt_key,.-AES_set_encrypt_key
|
||||
|
||||
.type _x86_64_AES_set_encrypt_key,@function
|
||||
.align 16
|
||||
@@ -1115,10 +1109,10 @@ _x86_64_AES_set_encrypt_key:
|
||||
.byte 0xf3,0xc3
|
||||
|
||||
.size _x86_64_AES_set_encrypt_key,.-_x86_64_AES_set_encrypt_key
|
||||
.globl private_AES_set_decrypt_key
|
||||
.type private_AES_set_decrypt_key,@function
|
||||
.globl AES_set_decrypt_key
|
||||
.type AES_set_decrypt_key,@function
|
||||
.align 16
|
||||
private_AES_set_decrypt_key:
|
||||
AES_set_decrypt_key:
|
||||
pushq %rbx
|
||||
pushq %rbp
|
||||
pushq %r12
|
||||
@@ -1301,14 +1295,11 @@ private_AES_set_decrypt_key:
|
||||
addq $56,%rsp
|
||||
.Ldec_key_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.size private_AES_set_decrypt_key,.-private_AES_set_decrypt_key
|
||||
.size AES_set_decrypt_key,.-AES_set_decrypt_key
|
||||
.globl AES_cbc_encrypt
|
||||
.type AES_cbc_encrypt,@function
|
||||
.align 16
|
||||
|
||||
.globl asm_AES_cbc_encrypt
|
||||
.hidden asm_AES_cbc_encrypt
|
||||
asm_AES_cbc_encrypt:
|
||||
AES_cbc_encrypt:
|
||||
cmpq $0,%rdx
|
||||
je .Lcbc_epilogue
|
||||
|
||||
1327
deps/openssl/asm/x64-elf-gas/bn/x86_64-mont.s
vendored
1327
deps/openssl/asm/x64-elf-gas/bn/x86_64-mont.s
vendored
File diff suppressed because it is too large
Load Diff
728
deps/openssl/asm/x64-elf-gas/rc4/rc4-x86_64.s
vendored
728
deps/openssl/asm/x64-elf-gas/rc4/rc4-x86_64.s
vendored
@@ -1,7 +1,6 @@
|
||||
.text
|
||||
|
||||
|
||||
|
||||
.globl RC4
|
||||
.type RC4,@function
|
||||
.align 16
|
||||
@@ -13,511 +12,316 @@ RC4: orq %rsi,%rsi
|
||||
pushq %r12
|
||||
pushq %r13
|
||||
.Lprologue:
|
||||
movq %rsi,%r11
|
||||
movq %rdx,%r12
|
||||
movq %rcx,%r13
|
||||
xorq %r10,%r10
|
||||
xorq %rcx,%rcx
|
||||
|
||||
leaq 8(%rdi),%rdi
|
||||
movb -8(%rdi),%r10b
|
||||
movb -4(%rdi),%cl
|
||||
addq $8,%rdi
|
||||
movl -8(%rdi),%r8d
|
||||
movl -4(%rdi),%r12d
|
||||
cmpl $-1,256(%rdi)
|
||||
je .LRC4_CHAR
|
||||
movl OPENSSL_ia32cap_P(%rip),%r8d
|
||||
xorq %rbx,%rbx
|
||||
incb %r10b
|
||||
subq %r10,%rbx
|
||||
subq %r12,%r13
|
||||
movl (%rdi,%r10,4),%eax
|
||||
testq $-16,%r11
|
||||
incb %r8b
|
||||
movl (%rdi,%r8,4),%r9d
|
||||
testq $-8,%rsi
|
||||
jz .Lloop1
|
||||
btl $30,%r8d
|
||||
jc .Lintel
|
||||
andq $7,%rbx
|
||||
leaq 1(%r10),%rsi
|
||||
jz .Loop8
|
||||
subq %rbx,%r11
|
||||
.Loop8_warmup:
|
||||
addb %al,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
movl %edx,(%rdi,%r10,4)
|
||||
addb %dl,%al
|
||||
jmp .Lloop8
|
||||
.align 16
|
||||
.Lloop8:
|
||||
addb %r9b,%r12b
|
||||
movq %r8,%r10
|
||||
movl (%rdi,%r12,4),%r13d
|
||||
rorq $8,%rax
|
||||
incb %r10b
|
||||
movl (%rdi,%rax,4),%edx
|
||||
movl (%rdi,%r10,4),%eax
|
||||
xorb (%r12),%dl
|
||||
movb %dl,(%r13,%r12,1)
|
||||
leaq 1(%r12),%r12
|
||||
decq %rbx
|
||||
jnz .Loop8_warmup
|
||||
|
||||
leaq 1(%r10),%rsi
|
||||
jmp .Loop8
|
||||
.align 16
|
||||
.Loop8:
|
||||
addb %al,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
movl 0(%rdi,%rsi,4),%ebx
|
||||
rorq $8,%r8
|
||||
movl %edx,0(%rdi,%r10,4)
|
||||
addb %al,%dl
|
||||
movb (%rdi,%rdx,4),%r8b
|
||||
addb %bl,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
movl 4(%rdi,%rsi,4),%eax
|
||||
rorq $8,%r8
|
||||
movl %edx,4(%rdi,%r10,4)
|
||||
addb %bl,%dl
|
||||
movb (%rdi,%rdx,4),%r8b
|
||||
addb %al,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
movl 8(%rdi,%rsi,4),%ebx
|
||||
rorq $8,%r8
|
||||
movl %edx,8(%rdi,%r10,4)
|
||||
addb %al,%dl
|
||||
movb (%rdi,%rdx,4),%r8b
|
||||
addb %bl,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
movl 12(%rdi,%rsi,4),%eax
|
||||
rorq $8,%r8
|
||||
movl %edx,12(%rdi,%r10,4)
|
||||
addb %bl,%dl
|
||||
movb (%rdi,%rdx,4),%r8b
|
||||
addb %al,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
movl 16(%rdi,%rsi,4),%ebx
|
||||
rorq $8,%r8
|
||||
movl %edx,16(%rdi,%r10,4)
|
||||
addb %al,%dl
|
||||
movb (%rdi,%rdx,4),%r8b
|
||||
addb %bl,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
movl 20(%rdi,%rsi,4),%eax
|
||||
rorq $8,%r8
|
||||
movl %edx,20(%rdi,%r10,4)
|
||||
addb %bl,%dl
|
||||
movb (%rdi,%rdx,4),%r8b
|
||||
addb %al,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
movl 24(%rdi,%rsi,4),%ebx
|
||||
rorq $8,%r8
|
||||
movl %edx,24(%rdi,%r10,4)
|
||||
addb %al,%dl
|
||||
movb (%rdi,%rdx,4),%r8b
|
||||
addb $8,%sil
|
||||
addb %bl,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
movl -4(%rdi,%rsi,4),%eax
|
||||
rorq $8,%r8
|
||||
movl %edx,28(%rdi,%r10,4)
|
||||
addb %bl,%dl
|
||||
movb (%rdi,%rdx,4),%r8b
|
||||
addb $8,%r10b
|
||||
rorq $8,%r8
|
||||
subq $8,%r11
|
||||
|
||||
xorq (%r12),%r8
|
||||
movq %r8,(%r13,%r12,1)
|
||||
leaq 8(%r12),%r12
|
||||
|
||||
testq $-8,%r11
|
||||
jnz .Loop8
|
||||
cmpq $0,%r11
|
||||
jne .Lloop1
|
||||
jmp .Lexit
|
||||
|
||||
.align 16
|
||||
.Lintel:
|
||||
testq $-32,%r11
|
||||
jz .Lloop1
|
||||
andq $15,%rbx
|
||||
jz .Loop16_is_hot
|
||||
subq %rbx,%r11
|
||||
.Loop16_warmup:
|
||||
addb %al,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
movl %edx,(%rdi,%r10,4)
|
||||
addb %dl,%al
|
||||
movl (%rdi,%r10,4),%r11d
|
||||
cmpq %r10,%r12
|
||||
movl %r9d,(%rdi,%r12,4)
|
||||
cmoveq %r9,%r11
|
||||
movl %r13d,(%rdi,%r8,4)
|
||||
addb %r9b,%r13b
|
||||
movb (%rdi,%r13,4),%al
|
||||
addb %r11b,%r12b
|
||||
movq %r10,%r8
|
||||
movl (%rdi,%r12,4),%r13d
|
||||
rorq $8,%rax
|
||||
incb %r8b
|
||||
movl (%rdi,%r8,4),%r9d
|
||||
cmpq %r8,%r12
|
||||
movl %r11d,(%rdi,%r12,4)
|
||||
cmoveq %r11,%r9
|
||||
movl %r13d,(%rdi,%r10,4)
|
||||
addb %r11b,%r13b
|
||||
movb (%rdi,%r13,4),%al
|
||||
addb %r9b,%r12b
|
||||
movq %r8,%r10
|
||||
movl (%rdi,%r12,4),%r13d
|
||||
rorq $8,%rax
|
||||
incb %r10b
|
||||
movl (%rdi,%rax,4),%edx
|
||||
movl (%rdi,%r10,4),%eax
|
||||
xorb (%r12),%dl
|
||||
movb %dl,(%r13,%r12,1)
|
||||
leaq 1(%r12),%r12
|
||||
decq %rbx
|
||||
jnz .Loop16_warmup
|
||||
movl (%rdi,%r10,4),%r11d
|
||||
cmpq %r10,%r12
|
||||
movl %r9d,(%rdi,%r12,4)
|
||||
cmoveq %r9,%r11
|
||||
movl %r13d,(%rdi,%r8,4)
|
||||
addb %r9b,%r13b
|
||||
movb (%rdi,%r13,4),%al
|
||||
addb %r11b,%r12b
|
||||
movq %r10,%r8
|
||||
movl (%rdi,%r12,4),%r13d
|
||||
rorq $8,%rax
|
||||
incb %r8b
|
||||
movl (%rdi,%r8,4),%r9d
|
||||
cmpq %r8,%r12
|
||||
movl %r11d,(%rdi,%r12,4)
|
||||
cmoveq %r11,%r9
|
||||
movl %r13d,(%rdi,%r10,4)
|
||||
addb %r11b,%r13b
|
||||
movb (%rdi,%r13,4),%al
|
||||
addb %r9b,%r12b
|
||||
movq %r8,%r10
|
||||
movl (%rdi,%r12,4),%r13d
|
||||
rorq $8,%rax
|
||||
incb %r10b
|
||||
movl (%rdi,%r10,4),%r11d
|
||||
cmpq %r10,%r12
|
||||
movl %r9d,(%rdi,%r12,4)
|
||||
cmoveq %r9,%r11
|
||||
movl %r13d,(%rdi,%r8,4)
|
||||
addb %r9b,%r13b
|
||||
movb (%rdi,%r13,4),%al
|
||||
addb %r11b,%r12b
|
||||
movq %r10,%r8
|
||||
movl (%rdi,%r12,4),%r13d
|
||||
rorq $8,%rax
|
||||
incb %r8b
|
||||
movl (%rdi,%r8,4),%r9d
|
||||
cmpq %r8,%r12
|
||||
movl %r11d,(%rdi,%r12,4)
|
||||
cmoveq %r11,%r9
|
||||
movl %r13d,(%rdi,%r10,4)
|
||||
addb %r11b,%r13b
|
||||
movb (%rdi,%r13,4),%al
|
||||
addb %r9b,%r12b
|
||||
movq %r8,%r10
|
||||
movl (%rdi,%r12,4),%r13d
|
||||
rorq $8,%rax
|
||||
incb %r10b
|
||||
movl (%rdi,%r10,4),%r11d
|
||||
cmpq %r10,%r12
|
||||
movl %r9d,(%rdi,%r12,4)
|
||||
cmoveq %r9,%r11
|
||||
movl %r13d,(%rdi,%r8,4)
|
||||
addb %r9b,%r13b
|
||||
movb (%rdi,%r13,4),%al
|
||||
addb %r11b,%r12b
|
||||
movq %r10,%r8
|
||||
movl (%rdi,%r12,4),%r13d
|
||||
rorq $8,%rax
|
||||
incb %r8b
|
||||
movl (%rdi,%r8,4),%r9d
|
||||
cmpq %r8,%r12
|
||||
movl %r11d,(%rdi,%r12,4)
|
||||
cmoveq %r11,%r9
|
||||
movl %r13d,(%rdi,%r10,4)
|
||||
addb %r11b,%r13b
|
||||
movb (%rdi,%r13,4),%al
|
||||
rorq $8,%rax
|
||||
subq $8,%rsi
|
||||
|
||||
movq %rcx,%rbx
|
||||
xorq %rcx,%rcx
|
||||
movb %bl,%cl
|
||||
xorq (%rdx),%rax
|
||||
addq $8,%rdx
|
||||
movq %rax,(%rcx)
|
||||
addq $8,%rcx
|
||||
|
||||
.Loop16_is_hot:
|
||||
leaq (%rdi,%r10,4),%rsi
|
||||
addb %al,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
pxor %xmm0,%xmm0
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
addb %dl,%al
|
||||
movl 4(%rsi),%ebx
|
||||
movzbl %al,%eax
|
||||
movl %edx,0(%rsi)
|
||||
addb %bl,%cl
|
||||
pinsrw $0,(%rdi,%rax,4),%xmm0
|
||||
jmp .Loop16_enter
|
||||
.align 16
|
||||
.Loop16:
|
||||
addb %al,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
pxor %xmm0,%xmm2
|
||||
psllq $8,%xmm1
|
||||
pxor %xmm0,%xmm0
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
addb %dl,%al
|
||||
movl 4(%rsi),%ebx
|
||||
movzbl %al,%eax
|
||||
movl %edx,0(%rsi)
|
||||
pxor %xmm1,%xmm2
|
||||
addb %bl,%cl
|
||||
pinsrw $0,(%rdi,%rax,4),%xmm0
|
||||
movdqu %xmm2,(%r13,%r12,1)
|
||||
leaq 16(%r12),%r12
|
||||
.Loop16_enter:
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
pxor %xmm1,%xmm1
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
addb %dl,%bl
|
||||
movl 8(%rsi),%eax
|
||||
movzbl %bl,%ebx
|
||||
movl %edx,4(%rsi)
|
||||
addb %al,%cl
|
||||
pinsrw $0,(%rdi,%rbx,4),%xmm1
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
addb %dl,%al
|
||||
movl 12(%rsi),%ebx
|
||||
movzbl %al,%eax
|
||||
movl %edx,8(%rsi)
|
||||
addb %bl,%cl
|
||||
pinsrw $1,(%rdi,%rax,4),%xmm0
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
addb %dl,%bl
|
||||
movl 16(%rsi),%eax
|
||||
movzbl %bl,%ebx
|
||||
movl %edx,12(%rsi)
|
||||
addb %al,%cl
|
||||
pinsrw $1,(%rdi,%rbx,4),%xmm1
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
addb %dl,%al
|
||||
movl 20(%rsi),%ebx
|
||||
movzbl %al,%eax
|
||||
movl %edx,16(%rsi)
|
||||
addb %bl,%cl
|
||||
pinsrw $2,(%rdi,%rax,4),%xmm0
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
addb %dl,%bl
|
||||
movl 24(%rsi),%eax
|
||||
movzbl %bl,%ebx
|
||||
movl %edx,20(%rsi)
|
||||
addb %al,%cl
|
||||
pinsrw $2,(%rdi,%rbx,4),%xmm1
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
addb %dl,%al
|
||||
movl 28(%rsi),%ebx
|
||||
movzbl %al,%eax
|
||||
movl %edx,24(%rsi)
|
||||
addb %bl,%cl
|
||||
pinsrw $3,(%rdi,%rax,4),%xmm0
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
addb %dl,%bl
|
||||
movl 32(%rsi),%eax
|
||||
movzbl %bl,%ebx
|
||||
movl %edx,28(%rsi)
|
||||
addb %al,%cl
|
||||
pinsrw $3,(%rdi,%rbx,4),%xmm1
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
addb %dl,%al
|
||||
movl 36(%rsi),%ebx
|
||||
movzbl %al,%eax
|
||||
movl %edx,32(%rsi)
|
||||
addb %bl,%cl
|
||||
pinsrw $4,(%rdi,%rax,4),%xmm0
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
addb %dl,%bl
|
||||
movl 40(%rsi),%eax
|
||||
movzbl %bl,%ebx
|
||||
movl %edx,36(%rsi)
|
||||
addb %al,%cl
|
||||
pinsrw $4,(%rdi,%rbx,4),%xmm1
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
addb %dl,%al
|
||||
movl 44(%rsi),%ebx
|
||||
movzbl %al,%eax
|
||||
movl %edx,40(%rsi)
|
||||
addb %bl,%cl
|
||||
pinsrw $5,(%rdi,%rax,4),%xmm0
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
addb %dl,%bl
|
||||
movl 48(%rsi),%eax
|
||||
movzbl %bl,%ebx
|
||||
movl %edx,44(%rsi)
|
||||
addb %al,%cl
|
||||
pinsrw $5,(%rdi,%rbx,4),%xmm1
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
addb %dl,%al
|
||||
movl 52(%rsi),%ebx
|
||||
movzbl %al,%eax
|
||||
movl %edx,48(%rsi)
|
||||
addb %bl,%cl
|
||||
pinsrw $6,(%rdi,%rax,4),%xmm0
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
addb %dl,%bl
|
||||
movl 56(%rsi),%eax
|
||||
movzbl %bl,%ebx
|
||||
movl %edx,52(%rsi)
|
||||
addb %al,%cl
|
||||
pinsrw $6,(%rdi,%rbx,4),%xmm1
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
addb %dl,%al
|
||||
movl 60(%rsi),%ebx
|
||||
movzbl %al,%eax
|
||||
movl %edx,56(%rsi)
|
||||
addb %bl,%cl
|
||||
pinsrw $7,(%rdi,%rax,4),%xmm0
|
||||
addb $16,%r10b
|
||||
movdqu (%r12),%xmm2
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
addb %dl,%bl
|
||||
movzbl %bl,%ebx
|
||||
movl %edx,60(%rsi)
|
||||
leaq (%rdi,%r10,4),%rsi
|
||||
pinsrw $7,(%rdi,%rbx,4),%xmm1
|
||||
movl (%rsi),%eax
|
||||
movq %rcx,%rbx
|
||||
xorq %rcx,%rcx
|
||||
subq $16,%r11
|
||||
movb %bl,%cl
|
||||
testq $-16,%r11
|
||||
jnz .Loop16
|
||||
|
||||
psllq $8,%xmm1
|
||||
pxor %xmm0,%xmm2
|
||||
pxor %xmm1,%xmm2
|
||||
movdqu %xmm2,(%r13,%r12,1)
|
||||
leaq 16(%r12),%r12
|
||||
|
||||
cmpq $0,%r11
|
||||
testq $-8,%rsi
|
||||
jnz .Lloop8
|
||||
cmpq $0,%rsi
|
||||
jne .Lloop1
|
||||
jmp .Lexit
|
||||
|
||||
.align 16
|
||||
.Lloop1:
|
||||
addb %al,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
movl %edx,(%rdi,%r10,4)
|
||||
addb %dl,%al
|
||||
incb %r10b
|
||||
movl (%rdi,%rax,4),%edx
|
||||
movl (%rdi,%r10,4),%eax
|
||||
xorb (%r12),%dl
|
||||
movb %dl,(%r13,%r12,1)
|
||||
leaq 1(%r12),%r12
|
||||
decq %r11
|
||||
addb %r9b,%r12b
|
||||
movl (%rdi,%r12,4),%r13d
|
||||
movl %r9d,(%rdi,%r12,4)
|
||||
movl %r13d,(%rdi,%r8,4)
|
||||
addb %r13b,%r9b
|
||||
incb %r8b
|
||||
movl (%rdi,%r9,4),%r13d
|
||||
movl (%rdi,%r8,4),%r9d
|
||||
xorb (%rdx),%r13b
|
||||
incq %rdx
|
||||
movb %r13b,(%rcx)
|
||||
incq %rcx
|
||||
decq %rsi
|
||||
jnz .Lloop1
|
||||
jmp .Lexit
|
||||
|
||||
.align 16
|
||||
.LRC4_CHAR:
|
||||
addb $1,%r10b
|
||||
movzbl (%rdi,%r10,1),%eax
|
||||
testq $-8,%r11
|
||||
addb $1,%r8b
|
||||
movzbl (%rdi,%r8,1),%r9d
|
||||
testq $-8,%rsi
|
||||
jz .Lcloop1
|
||||
cmpl $0,260(%rdi)
|
||||
jnz .Lcloop1
|
||||
jmp .Lcloop8
|
||||
.align 16
|
||||
.Lcloop8:
|
||||
movl (%r12),%r8d
|
||||
movl 4(%r12),%r9d
|
||||
addb %al,%cl
|
||||
leaq 1(%r10),%rsi
|
||||
movzbl (%rdi,%rcx,1),%edx
|
||||
movzbl %sil,%esi
|
||||
movzbl (%rdi,%rsi,1),%ebx
|
||||
movb %al,(%rdi,%rcx,1)
|
||||
cmpq %rsi,%rcx
|
||||
movb %dl,(%rdi,%r10,1)
|
||||
movl (%rdx),%eax
|
||||
movl 4(%rdx),%ebx
|
||||
addb %r9b,%r12b
|
||||
leaq 1(%r8),%r10
|
||||
movzbl (%rdi,%r12,1),%r13d
|
||||
movzbl %r10b,%r10d
|
||||
movzbl (%rdi,%r10,1),%r11d
|
||||
movb %r9b,(%rdi,%r12,1)
|
||||
cmpq %r10,%r12
|
||||
movb %r13b,(%rdi,%r8,1)
|
||||
jne .Lcmov0
|
||||
|
||||
movq %rax,%rbx
|
||||
movq %r9,%r11
|
||||
.Lcmov0:
|
||||
addb %al,%dl
|
||||
xorb (%rdi,%rdx,1),%r8b
|
||||
rorl $8,%r8d
|
||||
addb %bl,%cl
|
||||
leaq 1(%rsi),%r10
|
||||
movzbl (%rdi,%rcx,1),%edx
|
||||
movzbl %r10b,%r10d
|
||||
movzbl (%rdi,%r10,1),%eax
|
||||
movb %bl,(%rdi,%rcx,1)
|
||||
cmpq %r10,%rcx
|
||||
movb %dl,(%rdi,%rsi,1)
|
||||
addb %r9b,%r13b
|
||||
xorb (%rdi,%r13,1),%al
|
||||
rorl $8,%eax
|
||||
addb %r11b,%r12b
|
||||
leaq 1(%r10),%r8
|
||||
movzbl (%rdi,%r12,1),%r13d
|
||||
movzbl %r8b,%r8d
|
||||
movzbl (%rdi,%r8,1),%r9d
|
||||
movb %r11b,(%rdi,%r12,1)
|
||||
cmpq %r8,%r12
|
||||
movb %r13b,(%rdi,%r10,1)
|
||||
jne .Lcmov1
|
||||
|
||||
movq %rbx,%rax
|
||||
movq %r11,%r9
|
||||
.Lcmov1:
|
||||
addb %bl,%dl
|
||||
xorb (%rdi,%rdx,1),%r8b
|
||||
rorl $8,%r8d
|
||||
addb %al,%cl
|
||||
leaq 1(%r10),%rsi
|
||||
movzbl (%rdi,%rcx,1),%edx
|
||||
movzbl %sil,%esi
|
||||
movzbl (%rdi,%rsi,1),%ebx
|
||||
movb %al,(%rdi,%rcx,1)
|
||||
cmpq %rsi,%rcx
|
||||
movb %dl,(%rdi,%r10,1)
|
||||
addb %r11b,%r13b
|
||||
xorb (%rdi,%r13,1),%al
|
||||
rorl $8,%eax
|
||||
addb %r9b,%r12b
|
||||
leaq 1(%r8),%r10
|
||||
movzbl (%rdi,%r12,1),%r13d
|
||||
movzbl %r10b,%r10d
|
||||
movzbl (%rdi,%r10,1),%r11d
|
||||
movb %r9b,(%rdi,%r12,1)
|
||||
cmpq %r10,%r12
|
||||
movb %r13b,(%rdi,%r8,1)
|
||||
jne .Lcmov2
|
||||
|
||||
movq %rax,%rbx
|
||||
movq %r9,%r11
|
||||
.Lcmov2:
|
||||
addb %al,%dl
|
||||
xorb (%rdi,%rdx,1),%r8b
|
||||
rorl $8,%r8d
|
||||
addb %bl,%cl
|
||||
leaq 1(%rsi),%r10
|
||||
movzbl (%rdi,%rcx,1),%edx
|
||||
movzbl %r10b,%r10d
|
||||
movzbl (%rdi,%r10,1),%eax
|
||||
movb %bl,(%rdi,%rcx,1)
|
||||
cmpq %r10,%rcx
|
||||
movb %dl,(%rdi,%rsi,1)
|
||||
addb %r9b,%r13b
|
||||
xorb (%rdi,%r13,1),%al
|
||||
rorl $8,%eax
|
||||
addb %r11b,%r12b
|
||||
leaq 1(%r10),%r8
|
||||
movzbl (%rdi,%r12,1),%r13d
|
||||
movzbl %r8b,%r8d
|
||||
movzbl (%rdi,%r8,1),%r9d
|
||||
movb %r11b,(%rdi,%r12,1)
|
||||
cmpq %r8,%r12
|
||||
movb %r13b,(%rdi,%r10,1)
|
||||
jne .Lcmov3
|
||||
|
||||
movq %rbx,%rax
|
||||
movq %r11,%r9
|
||||
.Lcmov3:
|
||||
addb %bl,%dl
|
||||
xorb (%rdi,%rdx,1),%r8b
|
||||
rorl $8,%r8d
|
||||
addb %al,%cl
|
||||
leaq 1(%r10),%rsi
|
||||
movzbl (%rdi,%rcx,1),%edx
|
||||
movzbl %sil,%esi
|
||||
movzbl (%rdi,%rsi,1),%ebx
|
||||
movb %al,(%rdi,%rcx,1)
|
||||
cmpq %rsi,%rcx
|
||||
movb %dl,(%rdi,%r10,1)
|
||||
addb %r11b,%r13b
|
||||
xorb (%rdi,%r13,1),%al
|
||||
rorl $8,%eax
|
||||
addb %r9b,%r12b
|
||||
leaq 1(%r8),%r10
|
||||
movzbl (%rdi,%r12,1),%r13d
|
||||
movzbl %r10b,%r10d
|
||||
movzbl (%rdi,%r10,1),%r11d
|
||||
movb %r9b,(%rdi,%r12,1)
|
||||
cmpq %r10,%r12
|
||||
movb %r13b,(%rdi,%r8,1)
|
||||
jne .Lcmov4
|
||||
|
||||
movq %rax,%rbx
|
||||
movq %r9,%r11
|
||||
.Lcmov4:
|
||||
addb %al,%dl
|
||||
xorb (%rdi,%rdx,1),%r9b
|
||||
rorl $8,%r9d
|
||||
addb %bl,%cl
|
||||
leaq 1(%rsi),%r10
|
||||
movzbl (%rdi,%rcx,1),%edx
|
||||
movzbl %r10b,%r10d
|
||||
movzbl (%rdi,%r10,1),%eax
|
||||
movb %bl,(%rdi,%rcx,1)
|
||||
cmpq %r10,%rcx
|
||||
movb %dl,(%rdi,%rsi,1)
|
||||
addb %r9b,%r13b
|
||||
xorb (%rdi,%r13,1),%bl
|
||||
rorl $8,%ebx
|
||||
addb %r11b,%r12b
|
||||
leaq 1(%r10),%r8
|
||||
movzbl (%rdi,%r12,1),%r13d
|
||||
movzbl %r8b,%r8d
|
||||
movzbl (%rdi,%r8,1),%r9d
|
||||
movb %r11b,(%rdi,%r12,1)
|
||||
cmpq %r8,%r12
|
||||
movb %r13b,(%rdi,%r10,1)
|
||||
jne .Lcmov5
|
||||
|
||||
movq %rbx,%rax
|
||||
movq %r11,%r9
|
||||
.Lcmov5:
|
||||
addb %bl,%dl
|
||||
xorb (%rdi,%rdx,1),%r9b
|
||||
rorl $8,%r9d
|
||||
addb %al,%cl
|
||||
leaq 1(%r10),%rsi
|
||||
movzbl (%rdi,%rcx,1),%edx
|
||||
movzbl %sil,%esi
|
||||
movzbl (%rdi,%rsi,1),%ebx
|
||||
movb %al,(%rdi,%rcx,1)
|
||||
cmpq %rsi,%rcx
|
||||
movb %dl,(%rdi,%r10,1)
|
||||
addb %r11b,%r13b
|
||||
xorb (%rdi,%r13,1),%bl
|
||||
rorl $8,%ebx
|
||||
addb %r9b,%r12b
|
||||
leaq 1(%r8),%r10
|
||||
movzbl (%rdi,%r12,1),%r13d
|
||||
movzbl %r10b,%r10d
|
||||
movzbl (%rdi,%r10,1),%r11d
|
||||
movb %r9b,(%rdi,%r12,1)
|
||||
cmpq %r10,%r12
|
||||
movb %r13b,(%rdi,%r8,1)
|
||||
jne .Lcmov6
|
||||
|
||||
movq %rax,%rbx
|
||||
movq %r9,%r11
|
||||
.Lcmov6:
|
||||
addb %al,%dl
|
||||
xorb (%rdi,%rdx,1),%r9b
|
||||
rorl $8,%r9d
|
||||
addb %bl,%cl
|
||||
leaq 1(%rsi),%r10
|
||||
movzbl (%rdi,%rcx,1),%edx
|
||||
movzbl %r10b,%r10d
|
||||
movzbl (%rdi,%r10,1),%eax
|
||||
movb %bl,(%rdi,%rcx,1)
|
||||
cmpq %r10,%rcx
|
||||
movb %dl,(%rdi,%rsi,1)
|
||||
addb %r9b,%r13b
|
||||
xorb (%rdi,%r13,1),%bl
|
||||
rorl $8,%ebx
|
||||
addb %r11b,%r12b
|
||||
leaq 1(%r10),%r8
|
||||
movzbl (%rdi,%r12,1),%r13d
|
||||
movzbl %r8b,%r8d
|
||||
movzbl (%rdi,%r8,1),%r9d
|
||||
movb %r11b,(%rdi,%r12,1)
|
||||
cmpq %r8,%r12
|
||||
movb %r13b,(%rdi,%r10,1)
|
||||
jne .Lcmov7
|
||||
|
||||
movq %rbx,%rax
|
||||
movq %r11,%r9
|
||||
.Lcmov7:
|
||||
addb %bl,%dl
|
||||
xorb (%rdi,%rdx,1),%r9b
|
||||
rorl $8,%r9d
|
||||
leaq -8(%r11),%r11
|
||||
movl %r8d,(%r13)
|
||||
leaq 8(%r12),%r12
|
||||
movl %r9d,4(%r13)
|
||||
leaq 8(%r13),%r13
|
||||
addb %r11b,%r13b
|
||||
xorb (%rdi,%r13,1),%bl
|
||||
rorl $8,%ebx
|
||||
leaq -8(%rsi),%rsi
|
||||
movl %eax,(%rcx)
|
||||
leaq 8(%rdx),%rdx
|
||||
movl %ebx,4(%rcx)
|
||||
leaq 8(%rcx),%rcx
|
||||
|
||||
testq $-8,%r11
|
||||
testq $-8,%rsi
|
||||
jnz .Lcloop8
|
||||
cmpq $0,%r11
|
||||
cmpq $0,%rsi
|
||||
jne .Lcloop1
|
||||
jmp .Lexit
|
||||
.align 16
|
||||
.Lcloop1:
|
||||
addb %al,%cl
|
||||
movzbl %cl,%ecx
|
||||
movzbl (%rdi,%rcx,1),%edx
|
||||
movb %al,(%rdi,%rcx,1)
|
||||
movb %dl,(%rdi,%r10,1)
|
||||
addb %al,%dl
|
||||
addb $1,%r10b
|
||||
movzbl %dl,%edx
|
||||
movzbl %r10b,%r10d
|
||||
movzbl (%rdi,%rdx,1),%edx
|
||||
movzbl (%rdi,%r10,1),%eax
|
||||
xorb (%r12),%dl
|
||||
leaq 1(%r12),%r12
|
||||
movb %dl,(%r13)
|
||||
leaq 1(%r13),%r13
|
||||
subq $1,%r11
|
||||
addb %r9b,%r12b
|
||||
movzbl (%rdi,%r12,1),%r13d
|
||||
movb %r9b,(%rdi,%r12,1)
|
||||
movb %r13b,(%rdi,%r8,1)
|
||||
addb %r9b,%r13b
|
||||
addb $1,%r8b
|
||||
movzbl %r13b,%r13d
|
||||
movzbl %r8b,%r8d
|
||||
movzbl (%rdi,%r13,1),%r13d
|
||||
movzbl (%rdi,%r8,1),%r9d
|
||||
xorb (%rdx),%r13b
|
||||
leaq 1(%rdx),%rdx
|
||||
movb %r13b,(%rcx)
|
||||
leaq 1(%rcx),%rcx
|
||||
subq $1,%rsi
|
||||
jnz .Lcloop1
|
||||
jmp .Lexit
|
||||
|
||||
.align 16
|
||||
.Lexit:
|
||||
subb $1,%r10b
|
||||
movl %r10d,-8(%rdi)
|
||||
movl %ecx,-4(%rdi)
|
||||
subb $1,%r8b
|
||||
movl %r8d,-8(%rdi)
|
||||
movl %r12d,-4(%rdi)
|
||||
|
||||
movq (%rsp),%r13
|
||||
movq 8(%rsp),%r12
|
||||
@@ -526,10 +330,11 @@ RC4: orq %rsi,%rsi
|
||||
.Lepilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.size RC4,.-RC4
|
||||
.globl private_RC4_set_key
|
||||
.type private_RC4_set_key,@function
|
||||
|
||||
.globl RC4_set_key
|
||||
.type RC4_set_key,@function
|
||||
.align 16
|
||||
private_RC4_set_key:
|
||||
RC4_set_key:
|
||||
leaq 8(%rdi),%rdi
|
||||
leaq (%rdx,%rsi,1),%rdx
|
||||
negq %rsi
|
||||
@@ -541,8 +346,11 @@ private_RC4_set_key:
|
||||
|
||||
movl OPENSSL_ia32cap_P(%rip),%r8d
|
||||
btl $20,%r8d
|
||||
jc .Lc1stloop
|
||||
jmp .Lw1stloop
|
||||
jnc .Lw1stloop
|
||||
btl $30,%r8d
|
||||
setc %r9b
|
||||
movl %r9d,260(%rdi)
|
||||
jmp .Lc1stloop
|
||||
|
||||
.align 16
|
||||
.Lw1stloop:
|
||||
@@ -596,7 +404,7 @@ private_RC4_set_key:
|
||||
movl %eax,-8(%rdi)
|
||||
movl %eax,-4(%rdi)
|
||||
.byte 0xf3,0xc3
|
||||
.size private_RC4_set_key,.-private_RC4_set_key
|
||||
.size RC4_set_key,.-RC4_set_key
|
||||
|
||||
.globl RC4_options
|
||||
.type RC4_options,@function
|
||||
@@ -605,20 +413,18 @@ RC4_options:
|
||||
leaq .Lopts(%rip),%rax
|
||||
movl OPENSSL_ia32cap_P(%rip),%edx
|
||||
btl $20,%edx
|
||||
jc .L8xchar
|
||||
jnc .Ldone
|
||||
addq $12,%rax
|
||||
btl $30,%edx
|
||||
jnc .Ldone
|
||||
addq $25,%rax
|
||||
.byte 0xf3,0xc3
|
||||
.L8xchar:
|
||||
addq $12,%rax
|
||||
addq $13,%rax
|
||||
.Ldone:
|
||||
.byte 0xf3,0xc3
|
||||
.align 64
|
||||
.Lopts:
|
||||
.byte 114,99,52,40,56,120,44,105,110,116,41,0
|
||||
.byte 114,99,52,40,56,120,44,99,104,97,114,41,0
|
||||
.byte 114,99,52,40,49,54,120,44,105,110,116,41,0
|
||||
.byte 114,99,52,40,49,120,44,99,104,97,114,41,0
|
||||
.byte 82,67,52,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
||||
.align 64
|
||||
.size RC4_options,.-RC4_options
|
||||
|
||||
3641
deps/openssl/asm/x64-elf-gas/sha/sha1-x86_64.s
vendored
3641
deps/openssl/asm/x64-elf-gas/sha/sha1-x86_64.s
vendored
File diff suppressed because it is too large
Load Diff
2652
deps/openssl/asm/x64-elf-gas/sha/sha512-x86_64.s
vendored
2652
deps/openssl/asm/x64-elf-gas/sha/sha512-x86_64.s
vendored
File diff suppressed because it is too large
Load Diff
70
deps/openssl/asm/x64-elf-gas/x86_64cpuid.s
vendored
70
deps/openssl/asm/x64-elf-gas/x86_64cpuid.s
vendored
@@ -1,11 +1,7 @@
|
||||
|
||||
.hidden OPENSSL_cpuid_setup
|
||||
.section .init
|
||||
call OPENSSL_cpuid_setup
|
||||
|
||||
.hidden OPENSSL_ia32cap_P
|
||||
.comm OPENSSL_ia32cap_P,8,4
|
||||
|
||||
.text
|
||||
|
||||
|
||||
@@ -71,15 +67,7 @@ OPENSSL_ia32_cpuid:
|
||||
|
||||
movl $2147483648,%eax
|
||||
cpuid
|
||||
cmpl $2147483649,%eax
|
||||
jb .Lintel
|
||||
movl %eax,%r10d
|
||||
movl $2147483649,%eax
|
||||
cpuid
|
||||
orl %ecx,%r9d
|
||||
andl $2049,%r9d
|
||||
|
||||
cmpl $2147483656,%r10d
|
||||
cmpl $2147483656,%eax
|
||||
jb .Lintel
|
||||
|
||||
movl $2147483656,%eax
|
||||
@@ -90,12 +78,12 @@ OPENSSL_ia32_cpuid:
|
||||
movl $1,%eax
|
||||
cpuid
|
||||
btl $28,%edx
|
||||
jnc .Lgeneric
|
||||
jnc .Ldone
|
||||
shrl $16,%ebx
|
||||
cmpb %r10b,%bl
|
||||
ja .Lgeneric
|
||||
ja .Ldone
|
||||
andl $4026531839,%edx
|
||||
jmp .Lgeneric
|
||||
jmp .Ldone
|
||||
|
||||
.Lintel:
|
||||
cmpl $4,%r11d
|
||||
@@ -112,48 +100,30 @@ OPENSSL_ia32_cpuid:
|
||||
.Lnocacheinfo:
|
||||
movl $1,%eax
|
||||
cpuid
|
||||
andl $3220176895,%edx
|
||||
cmpl $0,%r9d
|
||||
jne .Lnotintel
|
||||
orl $1073741824,%edx
|
||||
orl $1048576,%edx
|
||||
andb $15,%ah
|
||||
cmpb $15,%ah
|
||||
jne .Lnotintel
|
||||
orl $1048576,%edx
|
||||
je .Lnotintel
|
||||
orl $1073741824,%edx
|
||||
.Lnotintel:
|
||||
btl $28,%edx
|
||||
jnc .Lgeneric
|
||||
jnc .Ldone
|
||||
andl $4026531839,%edx
|
||||
cmpl $0,%r10d
|
||||
je .Lgeneric
|
||||
je .Ldone
|
||||
|
||||
orl $268435456,%edx
|
||||
shrl $16,%ebx
|
||||
cmpb $1,%bl
|
||||
ja .Lgeneric
|
||||
ja .Ldone
|
||||
andl $4026531839,%edx
|
||||
.Lgeneric:
|
||||
andl $2048,%r9d
|
||||
andl $4294965247,%ecx
|
||||
orl %ecx,%r9d
|
||||
|
||||
movl %edx,%r10d
|
||||
btl $27,%r9d
|
||||
jnc .Lclear_avx
|
||||
xorl %ecx,%ecx
|
||||
.byte 0x0f,0x01,0xd0
|
||||
|
||||
andl $6,%eax
|
||||
cmpl $6,%eax
|
||||
je .Ldone
|
||||
.Lclear_avx:
|
||||
movl $4026525695,%eax
|
||||
andl %eax,%r9d
|
||||
.Ldone:
|
||||
shlq $32,%r9
|
||||
movl %r10d,%eax
|
||||
shlq $32,%rcx
|
||||
movl %edx,%eax
|
||||
movq %r8,%rbx
|
||||
orq %r9,%rax
|
||||
orq %rcx,%rax
|
||||
.byte 0xf3,0xc3
|
||||
.size OPENSSL_ia32_cpuid,.-OPENSSL_ia32_cpuid
|
||||
|
||||
@@ -222,17 +192,3 @@ OPENSSL_wipe_cpu:
|
||||
leaq 8(%rsp),%rax
|
||||
.byte 0xf3,0xc3
|
||||
.size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu
|
||||
.globl OPENSSL_ia32_rdrand
|
||||
.type OPENSSL_ia32_rdrand,@function
|
||||
.align 16
|
||||
OPENSSL_ia32_rdrand:
|
||||
movl $8,%ecx
|
||||
.Loop_rdrand:
|
||||
.byte 72,15,199,240
|
||||
jc .Lbreak_rdrand
|
||||
loop .Loop_rdrand
|
||||
.Lbreak_rdrand:
|
||||
cmpq $0,%rax
|
||||
cmoveq %rcx,%rax
|
||||
.byte 0xf3,0xc3
|
||||
.size OPENSSL_ia32_rdrand,.-OPENSSL_ia32_rdrand
|
||||
|
||||
17
deps/openssl/asm/x64-macosx-gas/aes/aes-x86_64.s
vendored
17
deps/openssl/asm/x64-macosx-gas/aes/aes-x86_64.s
vendored
@@ -333,9 +333,6 @@ L$enc_compact_done:
|
||||
.globl _AES_encrypt
|
||||
|
||||
.p2align 4
|
||||
.globl _asm_AES_encrypt
|
||||
.private_extern _asm_AES_encrypt
|
||||
_asm_AES_encrypt:
|
||||
_AES_encrypt:
|
||||
pushq %rbx
|
||||
pushq %rbp
|
||||
@@ -783,9 +780,6 @@ L$dec_compact_done:
|
||||
.globl _AES_decrypt
|
||||
|
||||
.p2align 4
|
||||
.globl _asm_AES_decrypt
|
||||
.private_extern _asm_AES_decrypt
|
||||
_asm_AES_decrypt:
|
||||
_AES_decrypt:
|
||||
pushq %rbx
|
||||
pushq %rbp
|
||||
@@ -849,10 +843,10 @@ L$dec_prologue:
|
||||
L$dec_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
|
||||
.globl _private_AES_set_encrypt_key
|
||||
.globl _AES_set_encrypt_key
|
||||
|
||||
.p2align 4
|
||||
_private_AES_set_encrypt_key:
|
||||
_AES_set_encrypt_key:
|
||||
pushq %rbx
|
||||
pushq %rbp
|
||||
pushq %r12
|
||||
@@ -1115,10 +1109,10 @@ L$exit:
|
||||
.byte 0xf3,0xc3
|
||||
|
||||
|
||||
.globl _private_AES_set_decrypt_key
|
||||
.globl _AES_set_decrypt_key
|
||||
|
||||
.p2align 4
|
||||
_private_AES_set_decrypt_key:
|
||||
_AES_set_decrypt_key:
|
||||
pushq %rbx
|
||||
pushq %rbp
|
||||
pushq %r12
|
||||
@@ -1306,9 +1300,6 @@ L$dec_key_epilogue:
|
||||
|
||||
.p2align 4
|
||||
|
||||
.globl _asm_AES_cbc_encrypt
|
||||
.private_extern _asm_AES_cbc_encrypt
|
||||
_asm_AES_cbc_encrypt:
|
||||
_AES_cbc_encrypt:
|
||||
cmpq $0,%rdx
|
||||
je L$cbc_epilogue
|
||||
|
||||
1327
deps/openssl/asm/x64-macosx-gas/bn/x86_64-mont.s
vendored
1327
deps/openssl/asm/x64-macosx-gas/bn/x86_64-mont.s
vendored
File diff suppressed because it is too large
Load Diff
@@ -668,3 +668,4 @@ L$end:
|
||||
addq $40,%rsp
|
||||
L$epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
|
||||
|
||||
725
deps/openssl/asm/x64-macosx-gas/rc4/rc4-x86_64.s
vendored
725
deps/openssl/asm/x64-macosx-gas/rc4/rc4-x86_64.s
vendored
@@ -1,7 +1,6 @@
|
||||
.text
|
||||
|
||||
|
||||
|
||||
.globl _RC4
|
||||
|
||||
.p2align 4
|
||||
@@ -13,511 +12,316 @@ L$entry:
|
||||
pushq %r12
|
||||
pushq %r13
|
||||
L$prologue:
|
||||
movq %rsi,%r11
|
||||
movq %rdx,%r12
|
||||
movq %rcx,%r13
|
||||
xorq %r10,%r10
|
||||
xorq %rcx,%rcx
|
||||
|
||||
leaq 8(%rdi),%rdi
|
||||
movb -8(%rdi),%r10b
|
||||
movb -4(%rdi),%cl
|
||||
addq $8,%rdi
|
||||
movl -8(%rdi),%r8d
|
||||
movl -4(%rdi),%r12d
|
||||
cmpl $-1,256(%rdi)
|
||||
je L$RC4_CHAR
|
||||
movl _OPENSSL_ia32cap_P(%rip),%r8d
|
||||
xorq %rbx,%rbx
|
||||
incb %r10b
|
||||
subq %r10,%rbx
|
||||
subq %r12,%r13
|
||||
movl (%rdi,%r10,4),%eax
|
||||
testq $-16,%r11
|
||||
incb %r8b
|
||||
movl (%rdi,%r8,4),%r9d
|
||||
testq $-8,%rsi
|
||||
jz L$loop1
|
||||
btl $30,%r8d
|
||||
jc L$intel
|
||||
andq $7,%rbx
|
||||
leaq 1(%r10),%rsi
|
||||
jz L$oop8
|
||||
subq %rbx,%r11
|
||||
L$oop8_warmup:
|
||||
addb %al,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
movl %edx,(%rdi,%r10,4)
|
||||
addb %dl,%al
|
||||
jmp L$loop8
|
||||
.p2align 4
|
||||
L$loop8:
|
||||
addb %r9b,%r12b
|
||||
movq %r8,%r10
|
||||
movl (%rdi,%r12,4),%r13d
|
||||
rorq $8,%rax
|
||||
incb %r10b
|
||||
movl (%rdi,%rax,4),%edx
|
||||
movl (%rdi,%r10,4),%eax
|
||||
xorb (%r12),%dl
|
||||
movb %dl,(%r13,%r12,1)
|
||||
leaq 1(%r12),%r12
|
||||
decq %rbx
|
||||
jnz L$oop8_warmup
|
||||
|
||||
leaq 1(%r10),%rsi
|
||||
jmp L$oop8
|
||||
.p2align 4
|
||||
L$oop8:
|
||||
addb %al,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
movl 0(%rdi,%rsi,4),%ebx
|
||||
rorq $8,%r8
|
||||
movl %edx,0(%rdi,%r10,4)
|
||||
addb %al,%dl
|
||||
movb (%rdi,%rdx,4),%r8b
|
||||
addb %bl,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
movl 4(%rdi,%rsi,4),%eax
|
||||
rorq $8,%r8
|
||||
movl %edx,4(%rdi,%r10,4)
|
||||
addb %bl,%dl
|
||||
movb (%rdi,%rdx,4),%r8b
|
||||
addb %al,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
movl 8(%rdi,%rsi,4),%ebx
|
||||
rorq $8,%r8
|
||||
movl %edx,8(%rdi,%r10,4)
|
||||
addb %al,%dl
|
||||
movb (%rdi,%rdx,4),%r8b
|
||||
addb %bl,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
movl 12(%rdi,%rsi,4),%eax
|
||||
rorq $8,%r8
|
||||
movl %edx,12(%rdi,%r10,4)
|
||||
addb %bl,%dl
|
||||
movb (%rdi,%rdx,4),%r8b
|
||||
addb %al,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
movl 16(%rdi,%rsi,4),%ebx
|
||||
rorq $8,%r8
|
||||
movl %edx,16(%rdi,%r10,4)
|
||||
addb %al,%dl
|
||||
movb (%rdi,%rdx,4),%r8b
|
||||
addb %bl,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
movl 20(%rdi,%rsi,4),%eax
|
||||
rorq $8,%r8
|
||||
movl %edx,20(%rdi,%r10,4)
|
||||
addb %bl,%dl
|
||||
movb (%rdi,%rdx,4),%r8b
|
||||
addb %al,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
movl 24(%rdi,%rsi,4),%ebx
|
||||
rorq $8,%r8
|
||||
movl %edx,24(%rdi,%r10,4)
|
||||
addb %al,%dl
|
||||
movb (%rdi,%rdx,4),%r8b
|
||||
addb $8,%sil
|
||||
addb %bl,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
movl -4(%rdi,%rsi,4),%eax
|
||||
rorq $8,%r8
|
||||
movl %edx,28(%rdi,%r10,4)
|
||||
addb %bl,%dl
|
||||
movb (%rdi,%rdx,4),%r8b
|
||||
addb $8,%r10b
|
||||
rorq $8,%r8
|
||||
subq $8,%r11
|
||||
|
||||
xorq (%r12),%r8
|
||||
movq %r8,(%r13,%r12,1)
|
||||
leaq 8(%r12),%r12
|
||||
|
||||
testq $-8,%r11
|
||||
jnz L$oop8
|
||||
cmpq $0,%r11
|
||||
jne L$loop1
|
||||
jmp L$exit
|
||||
|
||||
.p2align 4
|
||||
L$intel:
|
||||
testq $-32,%r11
|
||||
jz L$loop1
|
||||
andq $15,%rbx
|
||||
jz L$oop16_is_hot
|
||||
subq %rbx,%r11
|
||||
L$oop16_warmup:
|
||||
addb %al,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
movl %edx,(%rdi,%r10,4)
|
||||
addb %dl,%al
|
||||
movl (%rdi,%r10,4),%r11d
|
||||
cmpq %r10,%r12
|
||||
movl %r9d,(%rdi,%r12,4)
|
||||
cmoveq %r9,%r11
|
||||
movl %r13d,(%rdi,%r8,4)
|
||||
addb %r9b,%r13b
|
||||
movb (%rdi,%r13,4),%al
|
||||
addb %r11b,%r12b
|
||||
movq %r10,%r8
|
||||
movl (%rdi,%r12,4),%r13d
|
||||
rorq $8,%rax
|
||||
incb %r8b
|
||||
movl (%rdi,%r8,4),%r9d
|
||||
cmpq %r8,%r12
|
||||
movl %r11d,(%rdi,%r12,4)
|
||||
cmoveq %r11,%r9
|
||||
movl %r13d,(%rdi,%r10,4)
|
||||
addb %r11b,%r13b
|
||||
movb (%rdi,%r13,4),%al
|
||||
addb %r9b,%r12b
|
||||
movq %r8,%r10
|
||||
movl (%rdi,%r12,4),%r13d
|
||||
rorq $8,%rax
|
||||
incb %r10b
|
||||
movl (%rdi,%rax,4),%edx
|
||||
movl (%rdi,%r10,4),%eax
|
||||
xorb (%r12),%dl
|
||||
movb %dl,(%r13,%r12,1)
|
||||
leaq 1(%r12),%r12
|
||||
decq %rbx
|
||||
jnz L$oop16_warmup
|
||||
movl (%rdi,%r10,4),%r11d
|
||||
cmpq %r10,%r12
|
||||
movl %r9d,(%rdi,%r12,4)
|
||||
cmoveq %r9,%r11
|
||||
movl %r13d,(%rdi,%r8,4)
|
||||
addb %r9b,%r13b
|
||||
movb (%rdi,%r13,4),%al
|
||||
addb %r11b,%r12b
|
||||
movq %r10,%r8
|
||||
movl (%rdi,%r12,4),%r13d
|
||||
rorq $8,%rax
|
||||
incb %r8b
|
||||
movl (%rdi,%r8,4),%r9d
|
||||
cmpq %r8,%r12
|
||||
movl %r11d,(%rdi,%r12,4)
|
||||
cmoveq %r11,%r9
|
||||
movl %r13d,(%rdi,%r10,4)
|
||||
addb %r11b,%r13b
|
||||
movb (%rdi,%r13,4),%al
|
||||
addb %r9b,%r12b
|
||||
movq %r8,%r10
|
||||
movl (%rdi,%r12,4),%r13d
|
||||
rorq $8,%rax
|
||||
incb %r10b
|
||||
movl (%rdi,%r10,4),%r11d
|
||||
cmpq %r10,%r12
|
||||
movl %r9d,(%rdi,%r12,4)
|
||||
cmoveq %r9,%r11
|
||||
movl %r13d,(%rdi,%r8,4)
|
||||
addb %r9b,%r13b
|
||||
movb (%rdi,%r13,4),%al
|
||||
addb %r11b,%r12b
|
||||
movq %r10,%r8
|
||||
movl (%rdi,%r12,4),%r13d
|
||||
rorq $8,%rax
|
||||
incb %r8b
|
||||
movl (%rdi,%r8,4),%r9d
|
||||
cmpq %r8,%r12
|
||||
movl %r11d,(%rdi,%r12,4)
|
||||
cmoveq %r11,%r9
|
||||
movl %r13d,(%rdi,%r10,4)
|
||||
addb %r11b,%r13b
|
||||
movb (%rdi,%r13,4),%al
|
||||
addb %r9b,%r12b
|
||||
movq %r8,%r10
|
||||
movl (%rdi,%r12,4),%r13d
|
||||
rorq $8,%rax
|
||||
incb %r10b
|
||||
movl (%rdi,%r10,4),%r11d
|
||||
cmpq %r10,%r12
|
||||
movl %r9d,(%rdi,%r12,4)
|
||||
cmoveq %r9,%r11
|
||||
movl %r13d,(%rdi,%r8,4)
|
||||
addb %r9b,%r13b
|
||||
movb (%rdi,%r13,4),%al
|
||||
addb %r11b,%r12b
|
||||
movq %r10,%r8
|
||||
movl (%rdi,%r12,4),%r13d
|
||||
rorq $8,%rax
|
||||
incb %r8b
|
||||
movl (%rdi,%r8,4),%r9d
|
||||
cmpq %r8,%r12
|
||||
movl %r11d,(%rdi,%r12,4)
|
||||
cmoveq %r11,%r9
|
||||
movl %r13d,(%rdi,%r10,4)
|
||||
addb %r11b,%r13b
|
||||
movb (%rdi,%r13,4),%al
|
||||
rorq $8,%rax
|
||||
subq $8,%rsi
|
||||
|
||||
movq %rcx,%rbx
|
||||
xorq %rcx,%rcx
|
||||
movb %bl,%cl
|
||||
xorq (%rdx),%rax
|
||||
addq $8,%rdx
|
||||
movq %rax,(%rcx)
|
||||
addq $8,%rcx
|
||||
|
||||
L$oop16_is_hot:
|
||||
leaq (%rdi,%r10,4),%rsi
|
||||
addb %al,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
pxor %xmm0,%xmm0
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
addb %dl,%al
|
||||
movl 4(%rsi),%ebx
|
||||
movzbl %al,%eax
|
||||
movl %edx,0(%rsi)
|
||||
addb %bl,%cl
|
||||
pinsrw $0,(%rdi,%rax,4),%xmm0
|
||||
jmp L$oop16_enter
|
||||
.p2align 4
|
||||
L$oop16:
|
||||
addb %al,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
pxor %xmm0,%xmm2
|
||||
psllq $8,%xmm1
|
||||
pxor %xmm0,%xmm0
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
addb %dl,%al
|
||||
movl 4(%rsi),%ebx
|
||||
movzbl %al,%eax
|
||||
movl %edx,0(%rsi)
|
||||
pxor %xmm1,%xmm2
|
||||
addb %bl,%cl
|
||||
pinsrw $0,(%rdi,%rax,4),%xmm0
|
||||
movdqu %xmm2,(%r13,%r12,1)
|
||||
leaq 16(%r12),%r12
|
||||
L$oop16_enter:
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
pxor %xmm1,%xmm1
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
addb %dl,%bl
|
||||
movl 8(%rsi),%eax
|
||||
movzbl %bl,%ebx
|
||||
movl %edx,4(%rsi)
|
||||
addb %al,%cl
|
||||
pinsrw $0,(%rdi,%rbx,4),%xmm1
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
addb %dl,%al
|
||||
movl 12(%rsi),%ebx
|
||||
movzbl %al,%eax
|
||||
movl %edx,8(%rsi)
|
||||
addb %bl,%cl
|
||||
pinsrw $1,(%rdi,%rax,4),%xmm0
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
addb %dl,%bl
|
||||
movl 16(%rsi),%eax
|
||||
movzbl %bl,%ebx
|
||||
movl %edx,12(%rsi)
|
||||
addb %al,%cl
|
||||
pinsrw $1,(%rdi,%rbx,4),%xmm1
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
addb %dl,%al
|
||||
movl 20(%rsi),%ebx
|
||||
movzbl %al,%eax
|
||||
movl %edx,16(%rsi)
|
||||
addb %bl,%cl
|
||||
pinsrw $2,(%rdi,%rax,4),%xmm0
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
addb %dl,%bl
|
||||
movl 24(%rsi),%eax
|
||||
movzbl %bl,%ebx
|
||||
movl %edx,20(%rsi)
|
||||
addb %al,%cl
|
||||
pinsrw $2,(%rdi,%rbx,4),%xmm1
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
addb %dl,%al
|
||||
movl 28(%rsi),%ebx
|
||||
movzbl %al,%eax
|
||||
movl %edx,24(%rsi)
|
||||
addb %bl,%cl
|
||||
pinsrw $3,(%rdi,%rax,4),%xmm0
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
addb %dl,%bl
|
||||
movl 32(%rsi),%eax
|
||||
movzbl %bl,%ebx
|
||||
movl %edx,28(%rsi)
|
||||
addb %al,%cl
|
||||
pinsrw $3,(%rdi,%rbx,4),%xmm1
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
addb %dl,%al
|
||||
movl 36(%rsi),%ebx
|
||||
movzbl %al,%eax
|
||||
movl %edx,32(%rsi)
|
||||
addb %bl,%cl
|
||||
pinsrw $4,(%rdi,%rax,4),%xmm0
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
addb %dl,%bl
|
||||
movl 40(%rsi),%eax
|
||||
movzbl %bl,%ebx
|
||||
movl %edx,36(%rsi)
|
||||
addb %al,%cl
|
||||
pinsrw $4,(%rdi,%rbx,4),%xmm1
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
addb %dl,%al
|
||||
movl 44(%rsi),%ebx
|
||||
movzbl %al,%eax
|
||||
movl %edx,40(%rsi)
|
||||
addb %bl,%cl
|
||||
pinsrw $5,(%rdi,%rax,4),%xmm0
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
addb %dl,%bl
|
||||
movl 48(%rsi),%eax
|
||||
movzbl %bl,%ebx
|
||||
movl %edx,44(%rsi)
|
||||
addb %al,%cl
|
||||
pinsrw $5,(%rdi,%rbx,4),%xmm1
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
addb %dl,%al
|
||||
movl 52(%rsi),%ebx
|
||||
movzbl %al,%eax
|
||||
movl %edx,48(%rsi)
|
||||
addb %bl,%cl
|
||||
pinsrw $6,(%rdi,%rax,4),%xmm0
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
addb %dl,%bl
|
||||
movl 56(%rsi),%eax
|
||||
movzbl %bl,%ebx
|
||||
movl %edx,52(%rsi)
|
||||
addb %al,%cl
|
||||
pinsrw $6,(%rdi,%rbx,4),%xmm1
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
addb %dl,%al
|
||||
movl 60(%rsi),%ebx
|
||||
movzbl %al,%eax
|
||||
movl %edx,56(%rsi)
|
||||
addb %bl,%cl
|
||||
pinsrw $7,(%rdi,%rax,4),%xmm0
|
||||
addb $16,%r10b
|
||||
movdqu (%r12),%xmm2
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %ebx,(%rdi,%rcx,4)
|
||||
addb %dl,%bl
|
||||
movzbl %bl,%ebx
|
||||
movl %edx,60(%rsi)
|
||||
leaq (%rdi,%r10,4),%rsi
|
||||
pinsrw $7,(%rdi,%rbx,4),%xmm1
|
||||
movl (%rsi),%eax
|
||||
movq %rcx,%rbx
|
||||
xorq %rcx,%rcx
|
||||
subq $16,%r11
|
||||
movb %bl,%cl
|
||||
testq $-16,%r11
|
||||
jnz L$oop16
|
||||
|
||||
psllq $8,%xmm1
|
||||
pxor %xmm0,%xmm2
|
||||
pxor %xmm1,%xmm2
|
||||
movdqu %xmm2,(%r13,%r12,1)
|
||||
leaq 16(%r12),%r12
|
||||
|
||||
cmpq $0,%r11
|
||||
testq $-8,%rsi
|
||||
jnz L$loop8
|
||||
cmpq $0,%rsi
|
||||
jne L$loop1
|
||||
jmp L$exit
|
||||
|
||||
.p2align 4
|
||||
L$loop1:
|
||||
addb %al,%cl
|
||||
movl (%rdi,%rcx,4),%edx
|
||||
movl %eax,(%rdi,%rcx,4)
|
||||
movl %edx,(%rdi,%r10,4)
|
||||
addb %dl,%al
|
||||
incb %r10b
|
||||
movl (%rdi,%rax,4),%edx
|
||||
movl (%rdi,%r10,4),%eax
|
||||
xorb (%r12),%dl
|
||||
movb %dl,(%r13,%r12,1)
|
||||
leaq 1(%r12),%r12
|
||||
decq %r11
|
||||
addb %r9b,%r12b
|
||||
movl (%rdi,%r12,4),%r13d
|
||||
movl %r9d,(%rdi,%r12,4)
|
||||
movl %r13d,(%rdi,%r8,4)
|
||||
addb %r13b,%r9b
|
||||
incb %r8b
|
||||
movl (%rdi,%r9,4),%r13d
|
||||
movl (%rdi,%r8,4),%r9d
|
||||
xorb (%rdx),%r13b
|
||||
incq %rdx
|
||||
movb %r13b,(%rcx)
|
||||
incq %rcx
|
||||
decq %rsi
|
||||
jnz L$loop1
|
||||
jmp L$exit
|
||||
|
||||
.p2align 4
|
||||
L$RC4_CHAR:
|
||||
addb $1,%r10b
|
||||
movzbl (%rdi,%r10,1),%eax
|
||||
testq $-8,%r11
|
||||
addb $1,%r8b
|
||||
movzbl (%rdi,%r8,1),%r9d
|
||||
testq $-8,%rsi
|
||||
jz L$cloop1
|
||||
cmpl $0,260(%rdi)
|
||||
jnz L$cloop1
|
||||
jmp L$cloop8
|
||||
.p2align 4
|
||||
L$cloop8:
|
||||
movl (%r12),%r8d
|
||||
movl 4(%r12),%r9d
|
||||
addb %al,%cl
|
||||
leaq 1(%r10),%rsi
|
||||
movzbl (%rdi,%rcx,1),%edx
|
||||
movzbl %sil,%esi
|
||||
movzbl (%rdi,%rsi,1),%ebx
|
||||
movb %al,(%rdi,%rcx,1)
|
||||
cmpq %rsi,%rcx
|
||||
movb %dl,(%rdi,%r10,1)
|
||||
movl (%rdx),%eax
|
||||
movl 4(%rdx),%ebx
|
||||
addb %r9b,%r12b
|
||||
leaq 1(%r8),%r10
|
||||
movzbl (%rdi,%r12,1),%r13d
|
||||
movzbl %r10b,%r10d
|
||||
movzbl (%rdi,%r10,1),%r11d
|
||||
movb %r9b,(%rdi,%r12,1)
|
||||
cmpq %r10,%r12
|
||||
movb %r13b,(%rdi,%r8,1)
|
||||
jne L$cmov0
|
||||
|
||||
movq %rax,%rbx
|
||||
movq %r9,%r11
|
||||
L$cmov0:
|
||||
addb %al,%dl
|
||||
xorb (%rdi,%rdx,1),%r8b
|
||||
rorl $8,%r8d
|
||||
addb %bl,%cl
|
||||
leaq 1(%rsi),%r10
|
||||
movzbl (%rdi,%rcx,1),%edx
|
||||
movzbl %r10b,%r10d
|
||||
movzbl (%rdi,%r10,1),%eax
|
||||
movb %bl,(%rdi,%rcx,1)
|
||||
cmpq %r10,%rcx
|
||||
movb %dl,(%rdi,%rsi,1)
|
||||
addb %r9b,%r13b
|
||||
xorb (%rdi,%r13,1),%al
|
||||
rorl $8,%eax
|
||||
addb %r11b,%r12b
|
||||
leaq 1(%r10),%r8
|
||||
movzbl (%rdi,%r12,1),%r13d
|
||||
movzbl %r8b,%r8d
|
||||
movzbl (%rdi,%r8,1),%r9d
|
||||
movb %r11b,(%rdi,%r12,1)
|
||||
cmpq %r8,%r12
|
||||
movb %r13b,(%rdi,%r10,1)
|
||||
jne L$cmov1
|
||||
|
||||
movq %rbx,%rax
|
||||
movq %r11,%r9
|
||||
L$cmov1:
|
||||
addb %bl,%dl
|
||||
xorb (%rdi,%rdx,1),%r8b
|
||||
rorl $8,%r8d
|
||||
addb %al,%cl
|
||||
leaq 1(%r10),%rsi
|
||||
movzbl (%rdi,%rcx,1),%edx
|
||||
movzbl %sil,%esi
|
||||
movzbl (%rdi,%rsi,1),%ebx
|
||||
movb %al,(%rdi,%rcx,1)
|
||||
cmpq %rsi,%rcx
|
||||
movb %dl,(%rdi,%r10,1)
|
||||
addb %r11b,%r13b
|
||||
xorb (%rdi,%r13,1),%al
|
||||
rorl $8,%eax
|
||||
addb %r9b,%r12b
|
||||
leaq 1(%r8),%r10
|
||||
movzbl (%rdi,%r12,1),%r13d
|
||||
movzbl %r10b,%r10d
|
||||
movzbl (%rdi,%r10,1),%r11d
|
||||
movb %r9b,(%rdi,%r12,1)
|
||||
cmpq %r10,%r12
|
||||
movb %r13b,(%rdi,%r8,1)
|
||||
jne L$cmov2
|
||||
|
||||
movq %rax,%rbx
|
||||
movq %r9,%r11
|
||||
L$cmov2:
|
||||
addb %al,%dl
|
||||
xorb (%rdi,%rdx,1),%r8b
|
||||
rorl $8,%r8d
|
||||
addb %bl,%cl
|
||||
leaq 1(%rsi),%r10
|
||||
movzbl (%rdi,%rcx,1),%edx
|
||||
movzbl %r10b,%r10d
|
||||
movzbl (%rdi,%r10,1),%eax
|
||||
movb %bl,(%rdi,%rcx,1)
|
||||
cmpq %r10,%rcx
|
||||
movb %dl,(%rdi,%rsi,1)
|
||||
addb %r9b,%r13b
|
||||
xorb (%rdi,%r13,1),%al
|
||||
rorl $8,%eax
|
||||
addb %r11b,%r12b
|
||||
leaq 1(%r10),%r8
|
||||
movzbl (%rdi,%r12,1),%r13d
|
||||
movzbl %r8b,%r8d
|
||||
movzbl (%rdi,%r8,1),%r9d
|
||||
movb %r11b,(%rdi,%r12,1)
|
||||
cmpq %r8,%r12
|
||||
movb %r13b,(%rdi,%r10,1)
|
||||
jne L$cmov3
|
||||
|
||||
movq %rbx,%rax
|
||||
movq %r11,%r9
|
||||
L$cmov3:
|
||||
addb %bl,%dl
|
||||
xorb (%rdi,%rdx,1),%r8b
|
||||
rorl $8,%r8d
|
||||
addb %al,%cl
|
||||
leaq 1(%r10),%rsi
|
||||
movzbl (%rdi,%rcx,1),%edx
|
||||
movzbl %sil,%esi
|
||||
movzbl (%rdi,%rsi,1),%ebx
|
||||
movb %al,(%rdi,%rcx,1)
|
||||
cmpq %rsi,%rcx
|
||||
movb %dl,(%rdi,%r10,1)
|
||||
addb %r11b,%r13b
|
||||
xorb (%rdi,%r13,1),%al
|
||||
rorl $8,%eax
|
||||
addb %r9b,%r12b
|
||||
leaq 1(%r8),%r10
|
||||
movzbl (%rdi,%r12,1),%r13d
|
||||
movzbl %r10b,%r10d
|
||||
movzbl (%rdi,%r10,1),%r11d
|
||||
movb %r9b,(%rdi,%r12,1)
|
||||
cmpq %r10,%r12
|
||||
movb %r13b,(%rdi,%r8,1)
|
||||
jne L$cmov4
|
||||
|
||||
movq %rax,%rbx
|
||||
movq %r9,%r11
|
||||
L$cmov4:
|
||||
addb %al,%dl
|
||||
xorb (%rdi,%rdx,1),%r9b
|
||||
rorl $8,%r9d
|
||||
addb %bl,%cl
|
||||
leaq 1(%rsi),%r10
|
||||
movzbl (%rdi,%rcx,1),%edx
|
||||
movzbl %r10b,%r10d
|
||||
movzbl (%rdi,%r10,1),%eax
|
||||
movb %bl,(%rdi,%rcx,1)
|
||||
cmpq %r10,%rcx
|
||||
movb %dl,(%rdi,%rsi,1)
|
||||
addb %r9b,%r13b
|
||||
xorb (%rdi,%r13,1),%bl
|
||||
rorl $8,%ebx
|
||||
addb %r11b,%r12b
|
||||
leaq 1(%r10),%r8
|
||||
movzbl (%rdi,%r12,1),%r13d
|
||||
movzbl %r8b,%r8d
|
||||
movzbl (%rdi,%r8,1),%r9d
|
||||
movb %r11b,(%rdi,%r12,1)
|
||||
cmpq %r8,%r12
|
||||
movb %r13b,(%rdi,%r10,1)
|
||||
jne L$cmov5
|
||||
|
||||
movq %rbx,%rax
|
||||
movq %r11,%r9
|
||||
L$cmov5:
|
||||
addb %bl,%dl
|
||||
xorb (%rdi,%rdx,1),%r9b
|
||||
rorl $8,%r9d
|
||||
addb %al,%cl
|
||||
leaq 1(%r10),%rsi
|
||||
movzbl (%rdi,%rcx,1),%edx
|
||||
movzbl %sil,%esi
|
||||
movzbl (%rdi,%rsi,1),%ebx
|
||||
movb %al,(%rdi,%rcx,1)
|
||||
cmpq %rsi,%rcx
|
||||
movb %dl,(%rdi,%r10,1)
|
||||
addb %r11b,%r13b
|
||||
xorb (%rdi,%r13,1),%bl
|
||||
rorl $8,%ebx
|
||||
addb %r9b,%r12b
|
||||
leaq 1(%r8),%r10
|
||||
movzbl (%rdi,%r12,1),%r13d
|
||||
movzbl %r10b,%r10d
|
||||
movzbl (%rdi,%r10,1),%r11d
|
||||
movb %r9b,(%rdi,%r12,1)
|
||||
cmpq %r10,%r12
|
||||
movb %r13b,(%rdi,%r8,1)
|
||||
jne L$cmov6
|
||||
|
||||
movq %rax,%rbx
|
||||
movq %r9,%r11
|
||||
L$cmov6:
|
||||
addb %al,%dl
|
||||
xorb (%rdi,%rdx,1),%r9b
|
||||
rorl $8,%r9d
|
||||
addb %bl,%cl
|
||||
leaq 1(%rsi),%r10
|
||||
movzbl (%rdi,%rcx,1),%edx
|
||||
movzbl %r10b,%r10d
|
||||
movzbl (%rdi,%r10,1),%eax
|
||||
movb %bl,(%rdi,%rcx,1)
|
||||
cmpq %r10,%rcx
|
||||
movb %dl,(%rdi,%rsi,1)
|
||||
addb %r9b,%r13b
|
||||
xorb (%rdi,%r13,1),%bl
|
||||
rorl $8,%ebx
|
||||
addb %r11b,%r12b
|
||||
leaq 1(%r10),%r8
|
||||
movzbl (%rdi,%r12,1),%r13d
|
||||
movzbl %r8b,%r8d
|
||||
movzbl (%rdi,%r8,1),%r9d
|
||||
movb %r11b,(%rdi,%r12,1)
|
||||
cmpq %r8,%r12
|
||||
movb %r13b,(%rdi,%r10,1)
|
||||
jne L$cmov7
|
||||
|
||||
movq %rbx,%rax
|
||||
movq %r11,%r9
|
||||
L$cmov7:
|
||||
addb %bl,%dl
|
||||
xorb (%rdi,%rdx,1),%r9b
|
||||
rorl $8,%r9d
|
||||
leaq -8(%r11),%r11
|
||||
movl %r8d,(%r13)
|
||||
leaq 8(%r12),%r12
|
||||
movl %r9d,4(%r13)
|
||||
leaq 8(%r13),%r13
|
||||
addb %r11b,%r13b
|
||||
xorb (%rdi,%r13,1),%bl
|
||||
rorl $8,%ebx
|
||||
leaq -8(%rsi),%rsi
|
||||
movl %eax,(%rcx)
|
||||
leaq 8(%rdx),%rdx
|
||||
movl %ebx,4(%rcx)
|
||||
leaq 8(%rcx),%rcx
|
||||
|
||||
testq $-8,%r11
|
||||
testq $-8,%rsi
|
||||
jnz L$cloop8
|
||||
cmpq $0,%r11
|
||||
cmpq $0,%rsi
|
||||
jne L$cloop1
|
||||
jmp L$exit
|
||||
.p2align 4
|
||||
L$cloop1:
|
||||
addb %al,%cl
|
||||
movzbl %cl,%ecx
|
||||
movzbl (%rdi,%rcx,1),%edx
|
||||
movb %al,(%rdi,%rcx,1)
|
||||
movb %dl,(%rdi,%r10,1)
|
||||
addb %al,%dl
|
||||
addb $1,%r10b
|
||||
movzbl %dl,%edx
|
||||
movzbl %r10b,%r10d
|
||||
movzbl (%rdi,%rdx,1),%edx
|
||||
movzbl (%rdi,%r10,1),%eax
|
||||
xorb (%r12),%dl
|
||||
leaq 1(%r12),%r12
|
||||
movb %dl,(%r13)
|
||||
leaq 1(%r13),%r13
|
||||
subq $1,%r11
|
||||
addb %r9b,%r12b
|
||||
movzbl (%rdi,%r12,1),%r13d
|
||||
movb %r9b,(%rdi,%r12,1)
|
||||
movb %r13b,(%rdi,%r8,1)
|
||||
addb %r9b,%r13b
|
||||
addb $1,%r8b
|
||||
movzbl %r13b,%r13d
|
||||
movzbl %r8b,%r8d
|
||||
movzbl (%rdi,%r13,1),%r13d
|
||||
movzbl (%rdi,%r8,1),%r9d
|
||||
xorb (%rdx),%r13b
|
||||
leaq 1(%rdx),%rdx
|
||||
movb %r13b,(%rcx)
|
||||
leaq 1(%rcx),%rcx
|
||||
subq $1,%rsi
|
||||
jnz L$cloop1
|
||||
jmp L$exit
|
||||
|
||||
.p2align 4
|
||||
L$exit:
|
||||
subb $1,%r10b
|
||||
movl %r10d,-8(%rdi)
|
||||
movl %ecx,-4(%rdi)
|
||||
subb $1,%r8b
|
||||
movl %r8d,-8(%rdi)
|
||||
movl %r12d,-4(%rdi)
|
||||
|
||||
movq (%rsp),%r13
|
||||
movq 8(%rsp),%r12
|
||||
@@ -526,10 +330,11 @@ L$exit:
|
||||
L$epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
|
||||
.globl _private_RC4_set_key
|
||||
|
||||
.globl _RC4_set_key
|
||||
|
||||
.p2align 4
|
||||
_private_RC4_set_key:
|
||||
_RC4_set_key:
|
||||
leaq 8(%rdi),%rdi
|
||||
leaq (%rdx,%rsi,1),%rdx
|
||||
negq %rsi
|
||||
@@ -541,8 +346,11 @@ _private_RC4_set_key:
|
||||
|
||||
movl _OPENSSL_ia32cap_P(%rip),%r8d
|
||||
btl $20,%r8d
|
||||
jc L$c1stloop
|
||||
jmp L$w1stloop
|
||||
jnc L$w1stloop
|
||||
btl $30,%r8d
|
||||
setc %r9b
|
||||
movl %r9d,260(%rdi)
|
||||
jmp L$c1stloop
|
||||
|
||||
.p2align 4
|
||||
L$w1stloop:
|
||||
@@ -605,19 +413,18 @@ _RC4_options:
|
||||
leaq L$opts(%rip),%rax
|
||||
movl _OPENSSL_ia32cap_P(%rip),%edx
|
||||
btl $20,%edx
|
||||
jc L$8xchar
|
||||
jnc L$done
|
||||
addq $12,%rax
|
||||
btl $30,%edx
|
||||
jnc L$done
|
||||
addq $25,%rax
|
||||
.byte 0xf3,0xc3
|
||||
L$8xchar:
|
||||
addq $12,%rax
|
||||
addq $13,%rax
|
||||
L$done:
|
||||
.byte 0xf3,0xc3
|
||||
.p2align 6
|
||||
L$opts:
|
||||
.byte 114,99,52,40,56,120,44,105,110,116,41,0
|
||||
.byte 114,99,52,40,56,120,44,99,104,97,114,41,0
|
||||
.byte 114,99,52,40,49,54,120,44,105,110,116,41,0
|
||||
.byte 114,99,52,40,49,120,44,99,104,97,114,41,0
|
||||
.byte 82,67,52,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
||||
.p2align 6
|
||||
|
||||
|
||||
3639
deps/openssl/asm/x64-macosx-gas/sha/sha1-x86_64.s
vendored
3639
deps/openssl/asm/x64-macosx-gas/sha/sha1-x86_64.s
vendored
File diff suppressed because it is too large
Load Diff
2652
deps/openssl/asm/x64-macosx-gas/sha/sha512-x86_64.s
vendored
2652
deps/openssl/asm/x64-macosx-gas/sha/sha512-x86_64.s
vendored
File diff suppressed because it is too large
Load Diff
69
deps/openssl/asm/x64-macosx-gas/x86_64cpuid.s
vendored
69
deps/openssl/asm/x64-macosx-gas/x86_64cpuid.s
vendored
@@ -1,12 +1,8 @@
|
||||
|
||||
.private_extern _OPENSSL_cpuid_setup
|
||||
.mod_init_func
|
||||
.p2align 3
|
||||
.quad _OPENSSL_cpuid_setup
|
||||
|
||||
.private_extern _OPENSSL_ia32cap_P
|
||||
.comm _OPENSSL_ia32cap_P,8,2
|
||||
|
||||
.text
|
||||
|
||||
|
||||
@@ -72,15 +68,7 @@ _OPENSSL_ia32_cpuid:
|
||||
|
||||
movl $2147483648,%eax
|
||||
cpuid
|
||||
cmpl $2147483649,%eax
|
||||
jb L$intel
|
||||
movl %eax,%r10d
|
||||
movl $2147483649,%eax
|
||||
cpuid
|
||||
orl %ecx,%r9d
|
||||
andl $2049,%r9d
|
||||
|
||||
cmpl $2147483656,%r10d
|
||||
cmpl $2147483656,%eax
|
||||
jb L$intel
|
||||
|
||||
movl $2147483656,%eax
|
||||
@@ -91,12 +79,12 @@ _OPENSSL_ia32_cpuid:
|
||||
movl $1,%eax
|
||||
cpuid
|
||||
btl $28,%edx
|
||||
jnc L$generic
|
||||
jnc L$done
|
||||
shrl $16,%ebx
|
||||
cmpb %r10b,%bl
|
||||
ja L$generic
|
||||
ja L$done
|
||||
andl $4026531839,%edx
|
||||
jmp L$generic
|
||||
jmp L$done
|
||||
|
||||
L$intel:
|
||||
cmpl $4,%r11d
|
||||
@@ -113,48 +101,30 @@ L$intel:
|
||||
L$nocacheinfo:
|
||||
movl $1,%eax
|
||||
cpuid
|
||||
andl $3220176895,%edx
|
||||
cmpl $0,%r9d
|
||||
jne L$notintel
|
||||
orl $1073741824,%edx
|
||||
orl $1048576,%edx
|
||||
andb $15,%ah
|
||||
cmpb $15,%ah
|
||||
jne L$notintel
|
||||
orl $1048576,%edx
|
||||
je L$notintel
|
||||
orl $1073741824,%edx
|
||||
L$notintel:
|
||||
btl $28,%edx
|
||||
jnc L$generic
|
||||
jnc L$done
|
||||
andl $4026531839,%edx
|
||||
cmpl $0,%r10d
|
||||
je L$generic
|
||||
je L$done
|
||||
|
||||
orl $268435456,%edx
|
||||
shrl $16,%ebx
|
||||
cmpb $1,%bl
|
||||
ja L$generic
|
||||
ja L$done
|
||||
andl $4026531839,%edx
|
||||
L$generic:
|
||||
andl $2048,%r9d
|
||||
andl $4294965247,%ecx
|
||||
orl %ecx,%r9d
|
||||
|
||||
movl %edx,%r10d
|
||||
btl $27,%r9d
|
||||
jnc L$clear_avx
|
||||
xorl %ecx,%ecx
|
||||
.byte 0x0f,0x01,0xd0
|
||||
|
||||
andl $6,%eax
|
||||
cmpl $6,%eax
|
||||
je L$done
|
||||
L$clear_avx:
|
||||
movl $4026525695,%eax
|
||||
andl %eax,%r9d
|
||||
L$done:
|
||||
shlq $32,%r9
|
||||
movl %r10d,%eax
|
||||
shlq $32,%rcx
|
||||
movl %edx,%eax
|
||||
movq %r8,%rbx
|
||||
orq %r9,%rax
|
||||
orq %rcx,%rax
|
||||
.byte 0xf3,0xc3
|
||||
|
||||
|
||||
@@ -223,16 +193,3 @@ _OPENSSL_wipe_cpu:
|
||||
leaq 8(%rsp),%rax
|
||||
.byte 0xf3,0xc3
|
||||
|
||||
.globl _OPENSSL_ia32_rdrand
|
||||
|
||||
.p2align 4
|
||||
_OPENSSL_ia32_rdrand:
|
||||
movl $8,%ecx
|
||||
L$oop_rdrand:
|
||||
.byte 72,15,199,240
|
||||
jc L$break_rdrand
|
||||
loop L$oop_rdrand
|
||||
L$break_rdrand:
|
||||
cmpq $0,%rax
|
||||
cmoveq %rcx,%rax
|
||||
.byte 0xf3,0xc3
|
||||
|
||||
@@ -333,9 +333,6 @@ _x86_64_AES_encrypt_compact ENDP
|
||||
PUBLIC AES_encrypt
|
||||
|
||||
ALIGN 16
|
||||
PUBLIC asm_AES_encrypt
|
||||
|
||||
asm_AES_encrypt::
|
||||
AES_encrypt PROC PUBLIC
|
||||
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
|
||||
mov QWORD PTR[16+rsp],rsi
|
||||
@@ -795,9 +792,6 @@ _x86_64_AES_decrypt_compact ENDP
|
||||
PUBLIC AES_decrypt
|
||||
|
||||
ALIGN 16
|
||||
PUBLIC asm_AES_decrypt
|
||||
|
||||
asm_AES_decrypt::
|
||||
AES_decrypt PROC PUBLIC
|
||||
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
|
||||
mov QWORD PTR[16+rsp],rsi
|
||||
@@ -873,14 +867,14 @@ $L$dec_epilogue::
|
||||
DB 0F3h,0C3h ;repret
|
||||
$L$SEH_end_AES_decrypt::
|
||||
AES_decrypt ENDP
|
||||
PUBLIC private_AES_set_encrypt_key
|
||||
PUBLIC AES_set_encrypt_key
|
||||
|
||||
ALIGN 16
|
||||
private_AES_set_encrypt_key PROC PUBLIC
|
||||
AES_set_encrypt_key PROC PUBLIC
|
||||
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
|
||||
mov QWORD PTR[16+rsp],rsi
|
||||
mov rax,rsp
|
||||
$L$SEH_begin_private_AES_set_encrypt_key::
|
||||
$L$SEH_begin_AES_set_encrypt_key::
|
||||
mov rdi,rcx
|
||||
mov rsi,rdx
|
||||
mov rdx,r8
|
||||
@@ -908,8 +902,8 @@ $L$enc_key_epilogue::
|
||||
mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
|
||||
mov rsi,QWORD PTR[16+rsp]
|
||||
DB 0F3h,0C3h ;repret
|
||||
$L$SEH_end_private_AES_set_encrypt_key::
|
||||
private_AES_set_encrypt_key ENDP
|
||||
$L$SEH_end_AES_set_encrypt_key::
|
||||
AES_set_encrypt_key ENDP
|
||||
|
||||
|
||||
ALIGN 16
|
||||
@@ -1151,14 +1145,14 @@ $L$exit::
|
||||
DB 0f3h,0c3h
|
||||
|
||||
_x86_64_AES_set_encrypt_key ENDP
|
||||
PUBLIC private_AES_set_decrypt_key
|
||||
PUBLIC AES_set_decrypt_key
|
||||
|
||||
ALIGN 16
|
||||
private_AES_set_decrypt_key PROC PUBLIC
|
||||
AES_set_decrypt_key PROC PUBLIC
|
||||
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
|
||||
mov QWORD PTR[16+rsp],rsi
|
||||
mov rax,rsp
|
||||
$L$SEH_begin_private_AES_set_decrypt_key::
|
||||
$L$SEH_begin_AES_set_decrypt_key::
|
||||
mov rdi,rcx
|
||||
mov rsi,rdx
|
||||
mov rdx,r8
|
||||
@@ -1348,15 +1342,12 @@ $L$dec_key_epilogue::
|
||||
mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
|
||||
mov rsi,QWORD PTR[16+rsp]
|
||||
DB 0F3h,0C3h ;repret
|
||||
$L$SEH_end_private_AES_set_decrypt_key::
|
||||
private_AES_set_decrypt_key ENDP
|
||||
$L$SEH_end_AES_set_decrypt_key::
|
||||
AES_set_decrypt_key ENDP
|
||||
PUBLIC AES_cbc_encrypt
|
||||
|
||||
ALIGN 16
|
||||
EXTERN OPENSSL_ia32cap_P:NEAR
|
||||
PUBLIC asm_AES_cbc_encrypt
|
||||
|
||||
asm_AES_cbc_encrypt::
|
||||
AES_cbc_encrypt PROC PUBLIC
|
||||
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
|
||||
mov QWORD PTR[16+rsp],rsi
|
||||
@@ -2851,13 +2842,13 @@ ALIGN 4
|
||||
DD imagerel $L$SEH_end_AES_decrypt
|
||||
DD imagerel $L$SEH_info_AES_decrypt
|
||||
|
||||
DD imagerel $L$SEH_begin_private_AES_set_encrypt_key
|
||||
DD imagerel $L$SEH_end_private_AES_set_encrypt_key
|
||||
DD imagerel $L$SEH_info_private_AES_set_encrypt_key
|
||||
DD imagerel $L$SEH_begin_AES_set_encrypt_key
|
||||
DD imagerel $L$SEH_end_AES_set_encrypt_key
|
||||
DD imagerel $L$SEH_info_AES_set_encrypt_key
|
||||
|
||||
DD imagerel $L$SEH_begin_private_AES_set_decrypt_key
|
||||
DD imagerel $L$SEH_end_private_AES_set_decrypt_key
|
||||
DD imagerel $L$SEH_info_private_AES_set_decrypt_key
|
||||
DD imagerel $L$SEH_begin_AES_set_decrypt_key
|
||||
DD imagerel $L$SEH_end_AES_set_decrypt_key
|
||||
DD imagerel $L$SEH_info_AES_set_decrypt_key
|
||||
|
||||
DD imagerel $L$SEH_begin_AES_cbc_encrypt
|
||||
DD imagerel $L$SEH_end_AES_cbc_encrypt
|
||||
@@ -2876,12 +2867,12 @@ DB 9,0,0,0
|
||||
DD imagerel block_se_handler
|
||||
DD imagerel $L$dec_prologue,imagerel $L$dec_epilogue
|
||||
|
||||
$L$SEH_info_private_AES_set_encrypt_key::
|
||||
$L$SEH_info_AES_set_encrypt_key::
|
||||
DB 9,0,0,0
|
||||
DD imagerel key_se_handler
|
||||
DD imagerel $L$enc_key_prologue,imagerel $L$enc_key_epilogue
|
||||
|
||||
$L$SEH_info_private_AES_set_decrypt_key::
|
||||
$L$SEH_info_AES_set_decrypt_key::
|
||||
DB 9,0,0,0
|
||||
DD imagerel key_se_handler
|
||||
DD imagerel $L$dec_key_prologue,imagerel $L$dec_key_epilogue
|
||||
|
||||
1442
deps/openssl/asm/x64-win32-masm/bn/x86_64-mont.asm
vendored
1442
deps/openssl/asm/x64-win32-masm/bn/x86_64-mont.asm
vendored
File diff suppressed because it is too large
Load Diff
@@ -250,7 +250,7 @@ $L$eloop::
|
||||
xor r8d,ecx
|
||||
xor r9d,ecx
|
||||
xor r9d,edx
|
||||
lea r14,QWORD PTR[64+r14]
|
||||
lea r14,QWORD PTR[((16*4))+r14]
|
||||
cmp r14,r15
|
||||
mov edx,DWORD PTR[8+r14]
|
||||
mov ecx,DWORD PTR[12+r14]
|
||||
@@ -533,7 +533,7 @@ $L$dloop::
|
||||
xor r8d,ecx
|
||||
xor r9d,ecx
|
||||
xor r9d,edx
|
||||
lea r14,QWORD PTR[((-64))+r14]
|
||||
lea r14,QWORD PTR[((-16*4))+r14]
|
||||
cmp r14,r15
|
||||
mov edx,DWORD PTR[r14]
|
||||
mov ecx,DWORD PTR[4+r14]
|
||||
|
||||
280
deps/openssl/asm/x64-win32-masm/md5/md5-x86_64.asm
vendored
280
deps/openssl/asm/x64-win32-masm/md5/md5-x86_64.asm
vendored
@@ -27,10 +27,10 @@ $L$prologue::
|
||||
mov rbp,rdi
|
||||
shl rdx,6
|
||||
lea rdi,QWORD PTR[rdx*1+rsi]
|
||||
mov eax,DWORD PTR[rbp]
|
||||
mov ebx,DWORD PTR[4+rbp]
|
||||
mov ecx,DWORD PTR[8+rbp]
|
||||
mov edx,DWORD PTR[12+rbp]
|
||||
mov eax,DWORD PTR[((0*4))+rbp]
|
||||
mov ebx,DWORD PTR[((1*4))+rbp]
|
||||
mov ecx,DWORD PTR[((2*4))+rbp]
|
||||
mov edx,DWORD PTR[((3*4))+rbp]
|
||||
|
||||
|
||||
|
||||
@@ -48,160 +48,160 @@ $L$loop::
|
||||
mov r9d,ebx
|
||||
mov r14d,ecx
|
||||
mov r15d,edx
|
||||
mov r10d,DWORD PTR[rsi]
|
||||
mov r10d,DWORD PTR[((0*4))+rsi]
|
||||
mov r11d,edx
|
||||
xor r11d,ecx
|
||||
lea eax,DWORD PTR[((-680876936))+r10*1+rax]
|
||||
lea eax,DWORD PTR[0d76aa478h+r10*1+rax]
|
||||
and r11d,ebx
|
||||
xor r11d,edx
|
||||
mov r10d,DWORD PTR[4+rsi]
|
||||
mov r10d,DWORD PTR[((1*4))+rsi]
|
||||
add eax,r11d
|
||||
rol eax,7
|
||||
mov r11d,ecx
|
||||
add eax,ebx
|
||||
xor r11d,ebx
|
||||
lea edx,DWORD PTR[((-389564586))+r10*1+rdx]
|
||||
lea edx,DWORD PTR[0e8c7b756h+r10*1+rdx]
|
||||
and r11d,eax
|
||||
xor r11d,ecx
|
||||
mov r10d,DWORD PTR[8+rsi]
|
||||
mov r10d,DWORD PTR[((2*4))+rsi]
|
||||
add edx,r11d
|
||||
rol edx,12
|
||||
mov r11d,ebx
|
||||
add edx,eax
|
||||
xor r11d,eax
|
||||
lea ecx,DWORD PTR[606105819+r10*1+rcx]
|
||||
lea ecx,DWORD PTR[0242070dbh+r10*1+rcx]
|
||||
and r11d,edx
|
||||
xor r11d,ebx
|
||||
mov r10d,DWORD PTR[12+rsi]
|
||||
mov r10d,DWORD PTR[((3*4))+rsi]
|
||||
add ecx,r11d
|
||||
rol ecx,17
|
||||
mov r11d,eax
|
||||
add ecx,edx
|
||||
xor r11d,edx
|
||||
lea ebx,DWORD PTR[((-1044525330))+r10*1+rbx]
|
||||
lea ebx,DWORD PTR[0c1bdceeeh+r10*1+rbx]
|
||||
and r11d,ecx
|
||||
xor r11d,eax
|
||||
mov r10d,DWORD PTR[16+rsi]
|
||||
mov r10d,DWORD PTR[((4*4))+rsi]
|
||||
add ebx,r11d
|
||||
rol ebx,22
|
||||
mov r11d,edx
|
||||
add ebx,ecx
|
||||
xor r11d,ecx
|
||||
lea eax,DWORD PTR[((-176418897))+r10*1+rax]
|
||||
lea eax,DWORD PTR[0f57c0fafh+r10*1+rax]
|
||||
and r11d,ebx
|
||||
xor r11d,edx
|
||||
mov r10d,DWORD PTR[20+rsi]
|
||||
mov r10d,DWORD PTR[((5*4))+rsi]
|
||||
add eax,r11d
|
||||
rol eax,7
|
||||
mov r11d,ecx
|
||||
add eax,ebx
|
||||
xor r11d,ebx
|
||||
lea edx,DWORD PTR[1200080426+r10*1+rdx]
|
||||
lea edx,DWORD PTR[04787c62ah+r10*1+rdx]
|
||||
and r11d,eax
|
||||
xor r11d,ecx
|
||||
mov r10d,DWORD PTR[24+rsi]
|
||||
mov r10d,DWORD PTR[((6*4))+rsi]
|
||||
add edx,r11d
|
||||
rol edx,12
|
||||
mov r11d,ebx
|
||||
add edx,eax
|
||||
xor r11d,eax
|
||||
lea ecx,DWORD PTR[((-1473231341))+r10*1+rcx]
|
||||
lea ecx,DWORD PTR[0a8304613h+r10*1+rcx]
|
||||
and r11d,edx
|
||||
xor r11d,ebx
|
||||
mov r10d,DWORD PTR[28+rsi]
|
||||
mov r10d,DWORD PTR[((7*4))+rsi]
|
||||
add ecx,r11d
|
||||
rol ecx,17
|
||||
mov r11d,eax
|
||||
add ecx,edx
|
||||
xor r11d,edx
|
||||
lea ebx,DWORD PTR[((-45705983))+r10*1+rbx]
|
||||
lea ebx,DWORD PTR[0fd469501h+r10*1+rbx]
|
||||
and r11d,ecx
|
||||
xor r11d,eax
|
||||
mov r10d,DWORD PTR[32+rsi]
|
||||
mov r10d,DWORD PTR[((8*4))+rsi]
|
||||
add ebx,r11d
|
||||
rol ebx,22
|
||||
mov r11d,edx
|
||||
add ebx,ecx
|
||||
xor r11d,ecx
|
||||
lea eax,DWORD PTR[1770035416+r10*1+rax]
|
||||
lea eax,DWORD PTR[0698098d8h+r10*1+rax]
|
||||
and r11d,ebx
|
||||
xor r11d,edx
|
||||
mov r10d,DWORD PTR[36+rsi]
|
||||
mov r10d,DWORD PTR[((9*4))+rsi]
|
||||
add eax,r11d
|
||||
rol eax,7
|
||||
mov r11d,ecx
|
||||
add eax,ebx
|
||||
xor r11d,ebx
|
||||
lea edx,DWORD PTR[((-1958414417))+r10*1+rdx]
|
||||
lea edx,DWORD PTR[08b44f7afh+r10*1+rdx]
|
||||
and r11d,eax
|
||||
xor r11d,ecx
|
||||
mov r10d,DWORD PTR[40+rsi]
|
||||
mov r10d,DWORD PTR[((10*4))+rsi]
|
||||
add edx,r11d
|
||||
rol edx,12
|
||||
mov r11d,ebx
|
||||
add edx,eax
|
||||
xor r11d,eax
|
||||
lea ecx,DWORD PTR[((-42063))+r10*1+rcx]
|
||||
lea ecx,DWORD PTR[0ffff5bb1h+r10*1+rcx]
|
||||
and r11d,edx
|
||||
xor r11d,ebx
|
||||
mov r10d,DWORD PTR[44+rsi]
|
||||
mov r10d,DWORD PTR[((11*4))+rsi]
|
||||
add ecx,r11d
|
||||
rol ecx,17
|
||||
mov r11d,eax
|
||||
add ecx,edx
|
||||
xor r11d,edx
|
||||
lea ebx,DWORD PTR[((-1990404162))+r10*1+rbx]
|
||||
lea ebx,DWORD PTR[0895cd7beh+r10*1+rbx]
|
||||
and r11d,ecx
|
||||
xor r11d,eax
|
||||
mov r10d,DWORD PTR[48+rsi]
|
||||
mov r10d,DWORD PTR[((12*4))+rsi]
|
||||
add ebx,r11d
|
||||
rol ebx,22
|
||||
mov r11d,edx
|
||||
add ebx,ecx
|
||||
xor r11d,ecx
|
||||
lea eax,DWORD PTR[1804603682+r10*1+rax]
|
||||
lea eax,DWORD PTR[06b901122h+r10*1+rax]
|
||||
and r11d,ebx
|
||||
xor r11d,edx
|
||||
mov r10d,DWORD PTR[52+rsi]
|
||||
mov r10d,DWORD PTR[((13*4))+rsi]
|
||||
add eax,r11d
|
||||
rol eax,7
|
||||
mov r11d,ecx
|
||||
add eax,ebx
|
||||
xor r11d,ebx
|
||||
lea edx,DWORD PTR[((-40341101))+r10*1+rdx]
|
||||
lea edx,DWORD PTR[0fd987193h+r10*1+rdx]
|
||||
and r11d,eax
|
||||
xor r11d,ecx
|
||||
mov r10d,DWORD PTR[56+rsi]
|
||||
mov r10d,DWORD PTR[((14*4))+rsi]
|
||||
add edx,r11d
|
||||
rol edx,12
|
||||
mov r11d,ebx
|
||||
add edx,eax
|
||||
xor r11d,eax
|
||||
lea ecx,DWORD PTR[((-1502002290))+r10*1+rcx]
|
||||
lea ecx,DWORD PTR[0a679438eh+r10*1+rcx]
|
||||
and r11d,edx
|
||||
xor r11d,ebx
|
||||
mov r10d,DWORD PTR[60+rsi]
|
||||
mov r10d,DWORD PTR[((15*4))+rsi]
|
||||
add ecx,r11d
|
||||
rol ecx,17
|
||||
mov r11d,eax
|
||||
add ecx,edx
|
||||
xor r11d,edx
|
||||
lea ebx,DWORD PTR[1236535329+r10*1+rbx]
|
||||
lea ebx,DWORD PTR[049b40821h+r10*1+rbx]
|
||||
and r11d,ecx
|
||||
xor r11d,eax
|
||||
mov r10d,DWORD PTR[rsi]
|
||||
mov r10d,DWORD PTR[((0*4))+rsi]
|
||||
add ebx,r11d
|
||||
rol ebx,22
|
||||
mov r11d,edx
|
||||
add ebx,ecx
|
||||
mov r10d,DWORD PTR[4+rsi]
|
||||
mov r10d,DWORD PTR[((1*4))+rsi]
|
||||
mov r11d,edx
|
||||
mov r12d,edx
|
||||
not r11d
|
||||
lea eax,DWORD PTR[((-165796510))+r10*1+rax]
|
||||
lea eax,DWORD PTR[0f61e2562h+r10*1+rax]
|
||||
and r12d,ebx
|
||||
and r11d,ecx
|
||||
mov r10d,DWORD PTR[24+rsi]
|
||||
mov r10d,DWORD PTR[((6*4))+rsi]
|
||||
or r12d,r11d
|
||||
mov r11d,ecx
|
||||
add eax,r12d
|
||||
@@ -209,10 +209,10 @@ $L$loop::
|
||||
rol eax,5
|
||||
add eax,ebx
|
||||
not r11d
|
||||
lea edx,DWORD PTR[((-1069501632))+r10*1+rdx]
|
||||
lea edx,DWORD PTR[0c040b340h+r10*1+rdx]
|
||||
and r12d,eax
|
||||
and r11d,ebx
|
||||
mov r10d,DWORD PTR[44+rsi]
|
||||
mov r10d,DWORD PTR[((11*4))+rsi]
|
||||
or r12d,r11d
|
||||
mov r11d,ebx
|
||||
add edx,r12d
|
||||
@@ -220,10 +220,10 @@ $L$loop::
|
||||
rol edx,9
|
||||
add edx,eax
|
||||
not r11d
|
||||
lea ecx,DWORD PTR[643717713+r10*1+rcx]
|
||||
lea ecx,DWORD PTR[0265e5a51h+r10*1+rcx]
|
||||
and r12d,edx
|
||||
and r11d,eax
|
||||
mov r10d,DWORD PTR[rsi]
|
||||
mov r10d,DWORD PTR[((0*4))+rsi]
|
||||
or r12d,r11d
|
||||
mov r11d,eax
|
||||
add ecx,r12d
|
||||
@@ -231,10 +231,10 @@ $L$loop::
|
||||
rol ecx,14
|
||||
add ecx,edx
|
||||
not r11d
|
||||
lea ebx,DWORD PTR[((-373897302))+r10*1+rbx]
|
||||
lea ebx,DWORD PTR[0e9b6c7aah+r10*1+rbx]
|
||||
and r12d,ecx
|
||||
and r11d,edx
|
||||
mov r10d,DWORD PTR[20+rsi]
|
||||
mov r10d,DWORD PTR[((5*4))+rsi]
|
||||
or r12d,r11d
|
||||
mov r11d,edx
|
||||
add ebx,r12d
|
||||
@@ -242,10 +242,10 @@ $L$loop::
|
||||
rol ebx,20
|
||||
add ebx,ecx
|
||||
not r11d
|
||||
lea eax,DWORD PTR[((-701558691))+r10*1+rax]
|
||||
lea eax,DWORD PTR[0d62f105dh+r10*1+rax]
|
||||
and r12d,ebx
|
||||
and r11d,ecx
|
||||
mov r10d,DWORD PTR[40+rsi]
|
||||
mov r10d,DWORD PTR[((10*4))+rsi]
|
||||
or r12d,r11d
|
||||
mov r11d,ecx
|
||||
add eax,r12d
|
||||
@@ -253,10 +253,10 @@ $L$loop::
|
||||
rol eax,5
|
||||
add eax,ebx
|
||||
not r11d
|
||||
lea edx,DWORD PTR[38016083+r10*1+rdx]
|
||||
lea edx,DWORD PTR[02441453h+r10*1+rdx]
|
||||
and r12d,eax
|
||||
and r11d,ebx
|
||||
mov r10d,DWORD PTR[60+rsi]
|
||||
mov r10d,DWORD PTR[((15*4))+rsi]
|
||||
or r12d,r11d
|
||||
mov r11d,ebx
|
||||
add edx,r12d
|
||||
@@ -264,10 +264,10 @@ $L$loop::
|
||||
rol edx,9
|
||||
add edx,eax
|
||||
not r11d
|
||||
lea ecx,DWORD PTR[((-660478335))+r10*1+rcx]
|
||||
lea ecx,DWORD PTR[0d8a1e681h+r10*1+rcx]
|
||||
and r12d,edx
|
||||
and r11d,eax
|
||||
mov r10d,DWORD PTR[16+rsi]
|
||||
mov r10d,DWORD PTR[((4*4))+rsi]
|
||||
or r12d,r11d
|
||||
mov r11d,eax
|
||||
add ecx,r12d
|
||||
@@ -275,10 +275,10 @@ $L$loop::
|
||||
rol ecx,14
|
||||
add ecx,edx
|
||||
not r11d
|
||||
lea ebx,DWORD PTR[((-405537848))+r10*1+rbx]
|
||||
lea ebx,DWORD PTR[0e7d3fbc8h+r10*1+rbx]
|
||||
and r12d,ecx
|
||||
and r11d,edx
|
||||
mov r10d,DWORD PTR[36+rsi]
|
||||
mov r10d,DWORD PTR[((9*4))+rsi]
|
||||
or r12d,r11d
|
||||
mov r11d,edx
|
||||
add ebx,r12d
|
||||
@@ -286,10 +286,10 @@ $L$loop::
|
||||
rol ebx,20
|
||||
add ebx,ecx
|
||||
not r11d
|
||||
lea eax,DWORD PTR[568446438+r10*1+rax]
|
||||
lea eax,DWORD PTR[021e1cde6h+r10*1+rax]
|
||||
and r12d,ebx
|
||||
and r11d,ecx
|
||||
mov r10d,DWORD PTR[56+rsi]
|
||||
mov r10d,DWORD PTR[((14*4))+rsi]
|
||||
or r12d,r11d
|
||||
mov r11d,ecx
|
||||
add eax,r12d
|
||||
@@ -297,10 +297,10 @@ $L$loop::
|
||||
rol eax,5
|
||||
add eax,ebx
|
||||
not r11d
|
||||
lea edx,DWORD PTR[((-1019803690))+r10*1+rdx]
|
||||
lea edx,DWORD PTR[0c33707d6h+r10*1+rdx]
|
||||
and r12d,eax
|
||||
and r11d,ebx
|
||||
mov r10d,DWORD PTR[12+rsi]
|
||||
mov r10d,DWORD PTR[((3*4))+rsi]
|
||||
or r12d,r11d
|
||||
mov r11d,ebx
|
||||
add edx,r12d
|
||||
@@ -308,10 +308,10 @@ $L$loop::
|
||||
rol edx,9
|
||||
add edx,eax
|
||||
not r11d
|
||||
lea ecx,DWORD PTR[((-187363961))+r10*1+rcx]
|
||||
lea ecx,DWORD PTR[0f4d50d87h+r10*1+rcx]
|
||||
and r12d,edx
|
||||
and r11d,eax
|
||||
mov r10d,DWORD PTR[32+rsi]
|
||||
mov r10d,DWORD PTR[((8*4))+rsi]
|
||||
or r12d,r11d
|
||||
mov r11d,eax
|
||||
add ecx,r12d
|
||||
@@ -319,10 +319,10 @@ $L$loop::
|
||||
rol ecx,14
|
||||
add ecx,edx
|
||||
not r11d
|
||||
lea ebx,DWORD PTR[1163531501+r10*1+rbx]
|
||||
lea ebx,DWORD PTR[0455a14edh+r10*1+rbx]
|
||||
and r12d,ecx
|
||||
and r11d,edx
|
||||
mov r10d,DWORD PTR[52+rsi]
|
||||
mov r10d,DWORD PTR[((13*4))+rsi]
|
||||
or r12d,r11d
|
||||
mov r11d,edx
|
||||
add ebx,r12d
|
||||
@@ -330,10 +330,10 @@ $L$loop::
|
||||
rol ebx,20
|
||||
add ebx,ecx
|
||||
not r11d
|
||||
lea eax,DWORD PTR[((-1444681467))+r10*1+rax]
|
||||
lea eax,DWORD PTR[0a9e3e905h+r10*1+rax]
|
||||
and r12d,ebx
|
||||
and r11d,ecx
|
||||
mov r10d,DWORD PTR[8+rsi]
|
||||
mov r10d,DWORD PTR[((2*4))+rsi]
|
||||
or r12d,r11d
|
||||
mov r11d,ecx
|
||||
add eax,r12d
|
||||
@@ -341,10 +341,10 @@ $L$loop::
|
||||
rol eax,5
|
||||
add eax,ebx
|
||||
not r11d
|
||||
lea edx,DWORD PTR[((-51403784))+r10*1+rdx]
|
||||
lea edx,DWORD PTR[0fcefa3f8h+r10*1+rdx]
|
||||
and r12d,eax
|
||||
and r11d,ebx
|
||||
mov r10d,DWORD PTR[28+rsi]
|
||||
mov r10d,DWORD PTR[((7*4))+rsi]
|
||||
or r12d,r11d
|
||||
mov r11d,ebx
|
||||
add edx,r12d
|
||||
@@ -352,10 +352,10 @@ $L$loop::
|
||||
rol edx,9
|
||||
add edx,eax
|
||||
not r11d
|
||||
lea ecx,DWORD PTR[1735328473+r10*1+rcx]
|
||||
lea ecx,DWORD PTR[0676f02d9h+r10*1+rcx]
|
||||
and r12d,edx
|
||||
and r11d,eax
|
||||
mov r10d,DWORD PTR[48+rsi]
|
||||
mov r10d,DWORD PTR[((12*4))+rsi]
|
||||
or r12d,r11d
|
||||
mov r11d,eax
|
||||
add ecx,r12d
|
||||
@@ -363,289 +363,289 @@ $L$loop::
|
||||
rol ecx,14
|
||||
add ecx,edx
|
||||
not r11d
|
||||
lea ebx,DWORD PTR[((-1926607734))+r10*1+rbx]
|
||||
lea ebx,DWORD PTR[08d2a4c8ah+r10*1+rbx]
|
||||
and r12d,ecx
|
||||
and r11d,edx
|
||||
mov r10d,DWORD PTR[rsi]
|
||||
mov r10d,DWORD PTR[((0*4))+rsi]
|
||||
or r12d,r11d
|
||||
mov r11d,edx
|
||||
add ebx,r12d
|
||||
mov r12d,edx
|
||||
rol ebx,20
|
||||
add ebx,ecx
|
||||
mov r10d,DWORD PTR[20+rsi]
|
||||
mov r10d,DWORD PTR[((5*4))+rsi]
|
||||
mov r11d,ecx
|
||||
lea eax,DWORD PTR[((-378558))+r10*1+rax]
|
||||
mov r10d,DWORD PTR[32+rsi]
|
||||
lea eax,DWORD PTR[0fffa3942h+r10*1+rax]
|
||||
mov r10d,DWORD PTR[((8*4))+rsi]
|
||||
xor r11d,edx
|
||||
xor r11d,ebx
|
||||
add eax,r11d
|
||||
rol eax,4
|
||||
mov r11d,ebx
|
||||
add eax,ebx
|
||||
lea edx,DWORD PTR[((-2022574463))+r10*1+rdx]
|
||||
mov r10d,DWORD PTR[44+rsi]
|
||||
lea edx,DWORD PTR[08771f681h+r10*1+rdx]
|
||||
mov r10d,DWORD PTR[((11*4))+rsi]
|
||||
xor r11d,ecx
|
||||
xor r11d,eax
|
||||
add edx,r11d
|
||||
rol edx,11
|
||||
mov r11d,eax
|
||||
add edx,eax
|
||||
lea ecx,DWORD PTR[1839030562+r10*1+rcx]
|
||||
mov r10d,DWORD PTR[56+rsi]
|
||||
lea ecx,DWORD PTR[06d9d6122h+r10*1+rcx]
|
||||
mov r10d,DWORD PTR[((14*4))+rsi]
|
||||
xor r11d,ebx
|
||||
xor r11d,edx
|
||||
add ecx,r11d
|
||||
rol ecx,16
|
||||
mov r11d,edx
|
||||
add ecx,edx
|
||||
lea ebx,DWORD PTR[((-35309556))+r10*1+rbx]
|
||||
mov r10d,DWORD PTR[4+rsi]
|
||||
lea ebx,DWORD PTR[0fde5380ch+r10*1+rbx]
|
||||
mov r10d,DWORD PTR[((1*4))+rsi]
|
||||
xor r11d,eax
|
||||
xor r11d,ecx
|
||||
add ebx,r11d
|
||||
rol ebx,23
|
||||
mov r11d,ecx
|
||||
add ebx,ecx
|
||||
lea eax,DWORD PTR[((-1530992060))+r10*1+rax]
|
||||
mov r10d,DWORD PTR[16+rsi]
|
||||
lea eax,DWORD PTR[0a4beea44h+r10*1+rax]
|
||||
mov r10d,DWORD PTR[((4*4))+rsi]
|
||||
xor r11d,edx
|
||||
xor r11d,ebx
|
||||
add eax,r11d
|
||||
rol eax,4
|
||||
mov r11d,ebx
|
||||
add eax,ebx
|
||||
lea edx,DWORD PTR[1272893353+r10*1+rdx]
|
||||
mov r10d,DWORD PTR[28+rsi]
|
||||
lea edx,DWORD PTR[04bdecfa9h+r10*1+rdx]
|
||||
mov r10d,DWORD PTR[((7*4))+rsi]
|
||||
xor r11d,ecx
|
||||
xor r11d,eax
|
||||
add edx,r11d
|
||||
rol edx,11
|
||||
mov r11d,eax
|
||||
add edx,eax
|
||||
lea ecx,DWORD PTR[((-155497632))+r10*1+rcx]
|
||||
mov r10d,DWORD PTR[40+rsi]
|
||||
lea ecx,DWORD PTR[0f6bb4b60h+r10*1+rcx]
|
||||
mov r10d,DWORD PTR[((10*4))+rsi]
|
||||
xor r11d,ebx
|
||||
xor r11d,edx
|
||||
add ecx,r11d
|
||||
rol ecx,16
|
||||
mov r11d,edx
|
||||
add ecx,edx
|
||||
lea ebx,DWORD PTR[((-1094730640))+r10*1+rbx]
|
||||
mov r10d,DWORD PTR[52+rsi]
|
||||
lea ebx,DWORD PTR[0bebfbc70h+r10*1+rbx]
|
||||
mov r10d,DWORD PTR[((13*4))+rsi]
|
||||
xor r11d,eax
|
||||
xor r11d,ecx
|
||||
add ebx,r11d
|
||||
rol ebx,23
|
||||
mov r11d,ecx
|
||||
add ebx,ecx
|
||||
lea eax,DWORD PTR[681279174+r10*1+rax]
|
||||
mov r10d,DWORD PTR[rsi]
|
||||
lea eax,DWORD PTR[0289b7ec6h+r10*1+rax]
|
||||
mov r10d,DWORD PTR[((0*4))+rsi]
|
||||
xor r11d,edx
|
||||
xor r11d,ebx
|
||||
add eax,r11d
|
||||
rol eax,4
|
||||
mov r11d,ebx
|
||||
add eax,ebx
|
||||
lea edx,DWORD PTR[((-358537222))+r10*1+rdx]
|
||||
mov r10d,DWORD PTR[12+rsi]
|
||||
lea edx,DWORD PTR[0eaa127fah+r10*1+rdx]
|
||||
mov r10d,DWORD PTR[((3*4))+rsi]
|
||||
xor r11d,ecx
|
||||
xor r11d,eax
|
||||
add edx,r11d
|
||||
rol edx,11
|
||||
mov r11d,eax
|
||||
add edx,eax
|
||||
lea ecx,DWORD PTR[((-722521979))+r10*1+rcx]
|
||||
mov r10d,DWORD PTR[24+rsi]
|
||||
lea ecx,DWORD PTR[0d4ef3085h+r10*1+rcx]
|
||||
mov r10d,DWORD PTR[((6*4))+rsi]
|
||||
xor r11d,ebx
|
||||
xor r11d,edx
|
||||
add ecx,r11d
|
||||
rol ecx,16
|
||||
mov r11d,edx
|
||||
add ecx,edx
|
||||
lea ebx,DWORD PTR[76029189+r10*1+rbx]
|
||||
mov r10d,DWORD PTR[36+rsi]
|
||||
lea ebx,DWORD PTR[04881d05h+r10*1+rbx]
|
||||
mov r10d,DWORD PTR[((9*4))+rsi]
|
||||
xor r11d,eax
|
||||
xor r11d,ecx
|
||||
add ebx,r11d
|
||||
rol ebx,23
|
||||
mov r11d,ecx
|
||||
add ebx,ecx
|
||||
lea eax,DWORD PTR[((-640364487))+r10*1+rax]
|
||||
mov r10d,DWORD PTR[48+rsi]
|
||||
lea eax,DWORD PTR[0d9d4d039h+r10*1+rax]
|
||||
mov r10d,DWORD PTR[((12*4))+rsi]
|
||||
xor r11d,edx
|
||||
xor r11d,ebx
|
||||
add eax,r11d
|
||||
rol eax,4
|
||||
mov r11d,ebx
|
||||
add eax,ebx
|
||||
lea edx,DWORD PTR[((-421815835))+r10*1+rdx]
|
||||
mov r10d,DWORD PTR[60+rsi]
|
||||
lea edx,DWORD PTR[0e6db99e5h+r10*1+rdx]
|
||||
mov r10d,DWORD PTR[((15*4))+rsi]
|
||||
xor r11d,ecx
|
||||
xor r11d,eax
|
||||
add edx,r11d
|
||||
rol edx,11
|
||||
mov r11d,eax
|
||||
add edx,eax
|
||||
lea ecx,DWORD PTR[530742520+r10*1+rcx]
|
||||
mov r10d,DWORD PTR[8+rsi]
|
||||
lea ecx,DWORD PTR[01fa27cf8h+r10*1+rcx]
|
||||
mov r10d,DWORD PTR[((2*4))+rsi]
|
||||
xor r11d,ebx
|
||||
xor r11d,edx
|
||||
add ecx,r11d
|
||||
rol ecx,16
|
||||
mov r11d,edx
|
||||
add ecx,edx
|
||||
lea ebx,DWORD PTR[((-995338651))+r10*1+rbx]
|
||||
mov r10d,DWORD PTR[rsi]
|
||||
lea ebx,DWORD PTR[0c4ac5665h+r10*1+rbx]
|
||||
mov r10d,DWORD PTR[((0*4))+rsi]
|
||||
xor r11d,eax
|
||||
xor r11d,ecx
|
||||
add ebx,r11d
|
||||
rol ebx,23
|
||||
mov r11d,ecx
|
||||
add ebx,ecx
|
||||
mov r10d,DWORD PTR[rsi]
|
||||
mov r10d,DWORD PTR[((0*4))+rsi]
|
||||
mov r11d,0ffffffffh
|
||||
xor r11d,edx
|
||||
lea eax,DWORD PTR[((-198630844))+r10*1+rax]
|
||||
lea eax,DWORD PTR[0f4292244h+r10*1+rax]
|
||||
or r11d,ebx
|
||||
xor r11d,ecx
|
||||
add eax,r11d
|
||||
mov r10d,DWORD PTR[28+rsi]
|
||||
mov r10d,DWORD PTR[((7*4))+rsi]
|
||||
mov r11d,0ffffffffh
|
||||
rol eax,6
|
||||
xor r11d,ecx
|
||||
add eax,ebx
|
||||
lea edx,DWORD PTR[1126891415+r10*1+rdx]
|
||||
lea edx,DWORD PTR[0432aff97h+r10*1+rdx]
|
||||
or r11d,eax
|
||||
xor r11d,ebx
|
||||
add edx,r11d
|
||||
mov r10d,DWORD PTR[56+rsi]
|
||||
mov r10d,DWORD PTR[((14*4))+rsi]
|
||||
mov r11d,0ffffffffh
|
||||
rol edx,10
|
||||
xor r11d,ebx
|
||||
add edx,eax
|
||||
lea ecx,DWORD PTR[((-1416354905))+r10*1+rcx]
|
||||
lea ecx,DWORD PTR[0ab9423a7h+r10*1+rcx]
|
||||
or r11d,edx
|
||||
xor r11d,eax
|
||||
add ecx,r11d
|
||||
mov r10d,DWORD PTR[20+rsi]
|
||||
mov r10d,DWORD PTR[((5*4))+rsi]
|
||||
mov r11d,0ffffffffh
|
||||
rol ecx,15
|
||||
xor r11d,eax
|
||||
add ecx,edx
|
||||
lea ebx,DWORD PTR[((-57434055))+r10*1+rbx]
|
||||
lea ebx,DWORD PTR[0fc93a039h+r10*1+rbx]
|
||||
or r11d,ecx
|
||||
xor r11d,edx
|
||||
add ebx,r11d
|
||||
mov r10d,DWORD PTR[48+rsi]
|
||||
mov r10d,DWORD PTR[((12*4))+rsi]
|
||||
mov r11d,0ffffffffh
|
||||
rol ebx,21
|
||||
xor r11d,edx
|
||||
add ebx,ecx
|
||||
lea eax,DWORD PTR[1700485571+r10*1+rax]
|
||||
lea eax,DWORD PTR[0655b59c3h+r10*1+rax]
|
||||
or r11d,ebx
|
||||
xor r11d,ecx
|
||||
add eax,r11d
|
||||
mov r10d,DWORD PTR[12+rsi]
|
||||
mov r10d,DWORD PTR[((3*4))+rsi]
|
||||
mov r11d,0ffffffffh
|
||||
rol eax,6
|
||||
xor r11d,ecx
|
||||
add eax,ebx
|
||||
lea edx,DWORD PTR[((-1894986606))+r10*1+rdx]
|
||||
lea edx,DWORD PTR[08f0ccc92h+r10*1+rdx]
|
||||
or r11d,eax
|
||||
xor r11d,ebx
|
||||
add edx,r11d
|
||||
mov r10d,DWORD PTR[40+rsi]
|
||||
mov r10d,DWORD PTR[((10*4))+rsi]
|
||||
mov r11d,0ffffffffh
|
||||
rol edx,10
|
||||
xor r11d,ebx
|
||||
add edx,eax
|
||||
lea ecx,DWORD PTR[((-1051523))+r10*1+rcx]
|
||||
lea ecx,DWORD PTR[0ffeff47dh+r10*1+rcx]
|
||||
or r11d,edx
|
||||
xor r11d,eax
|
||||
add ecx,r11d
|
||||
mov r10d,DWORD PTR[4+rsi]
|
||||
mov r10d,DWORD PTR[((1*4))+rsi]
|
||||
mov r11d,0ffffffffh
|
||||
rol ecx,15
|
||||
xor r11d,eax
|
||||
add ecx,edx
|
||||
lea ebx,DWORD PTR[((-2054922799))+r10*1+rbx]
|
||||
lea ebx,DWORD PTR[085845dd1h+r10*1+rbx]
|
||||
or r11d,ecx
|
||||
xor r11d,edx
|
||||
add ebx,r11d
|
||||
mov r10d,DWORD PTR[32+rsi]
|
||||
mov r10d,DWORD PTR[((8*4))+rsi]
|
||||
mov r11d,0ffffffffh
|
||||
rol ebx,21
|
||||
xor r11d,edx
|
||||
add ebx,ecx
|
||||
lea eax,DWORD PTR[1873313359+r10*1+rax]
|
||||
lea eax,DWORD PTR[06fa87e4fh+r10*1+rax]
|
||||
or r11d,ebx
|
||||
xor r11d,ecx
|
||||
add eax,r11d
|
||||
mov r10d,DWORD PTR[60+rsi]
|
||||
mov r10d,DWORD PTR[((15*4))+rsi]
|
||||
mov r11d,0ffffffffh
|
||||
rol eax,6
|
||||
xor r11d,ecx
|
||||
add eax,ebx
|
||||
lea edx,DWORD PTR[((-30611744))+r10*1+rdx]
|
||||
lea edx,DWORD PTR[0fe2ce6e0h+r10*1+rdx]
|
||||
or r11d,eax
|
||||
xor r11d,ebx
|
||||
add edx,r11d
|
||||
mov r10d,DWORD PTR[24+rsi]
|
||||
mov r10d,DWORD PTR[((6*4))+rsi]
|
||||
mov r11d,0ffffffffh
|
||||
rol edx,10
|
||||
xor r11d,ebx
|
||||
add edx,eax
|
||||
lea ecx,DWORD PTR[((-1560198380))+r10*1+rcx]
|
||||
lea ecx,DWORD PTR[0a3014314h+r10*1+rcx]
|
||||
or r11d,edx
|
||||
xor r11d,eax
|
||||
add ecx,r11d
|
||||
mov r10d,DWORD PTR[52+rsi]
|
||||
mov r10d,DWORD PTR[((13*4))+rsi]
|
||||
mov r11d,0ffffffffh
|
||||
rol ecx,15
|
||||
xor r11d,eax
|
||||
add ecx,edx
|
||||
lea ebx,DWORD PTR[1309151649+r10*1+rbx]
|
||||
lea ebx,DWORD PTR[04e0811a1h+r10*1+rbx]
|
||||
or r11d,ecx
|
||||
xor r11d,edx
|
||||
add ebx,r11d
|
||||
mov r10d,DWORD PTR[16+rsi]
|
||||
mov r10d,DWORD PTR[((4*4))+rsi]
|
||||
mov r11d,0ffffffffh
|
||||
rol ebx,21
|
||||
xor r11d,edx
|
||||
add ebx,ecx
|
||||
lea eax,DWORD PTR[((-145523070))+r10*1+rax]
|
||||
lea eax,DWORD PTR[0f7537e82h+r10*1+rax]
|
||||
or r11d,ebx
|
||||
xor r11d,ecx
|
||||
add eax,r11d
|
||||
mov r10d,DWORD PTR[44+rsi]
|
||||
mov r10d,DWORD PTR[((11*4))+rsi]
|
||||
mov r11d,0ffffffffh
|
||||
rol eax,6
|
||||
xor r11d,ecx
|
||||
add eax,ebx
|
||||
lea edx,DWORD PTR[((-1120210379))+r10*1+rdx]
|
||||
lea edx,DWORD PTR[0bd3af235h+r10*1+rdx]
|
||||
or r11d,eax
|
||||
xor r11d,ebx
|
||||
add edx,r11d
|
||||
mov r10d,DWORD PTR[8+rsi]
|
||||
mov r10d,DWORD PTR[((2*4))+rsi]
|
||||
mov r11d,0ffffffffh
|
||||
rol edx,10
|
||||
xor r11d,ebx
|
||||
add edx,eax
|
||||
lea ecx,DWORD PTR[718787259+r10*1+rcx]
|
||||
lea ecx,DWORD PTR[02ad7d2bbh+r10*1+rcx]
|
||||
or r11d,edx
|
||||
xor r11d,eax
|
||||
add ecx,r11d
|
||||
mov r10d,DWORD PTR[36+rsi]
|
||||
mov r10d,DWORD PTR[((9*4))+rsi]
|
||||
mov r11d,0ffffffffh
|
||||
rol ecx,15
|
||||
xor r11d,eax
|
||||
add ecx,edx
|
||||
lea ebx,DWORD PTR[((-343485551))+r10*1+rbx]
|
||||
lea ebx,DWORD PTR[0eb86d391h+r10*1+rbx]
|
||||
or r11d,ecx
|
||||
xor r11d,edx
|
||||
add ebx,r11d
|
||||
mov r10d,DWORD PTR[rsi]
|
||||
mov r10d,DWORD PTR[((0*4))+rsi]
|
||||
mov r11d,0ffffffffh
|
||||
rol ebx,21
|
||||
xor r11d,edx
|
||||
@@ -664,10 +664,10 @@ $L$loop::
|
||||
|
||||
|
||||
$L$end::
|
||||
mov DWORD PTR[rbp],eax
|
||||
mov DWORD PTR[4+rbp],ebx
|
||||
mov DWORD PTR[8+rbp],ecx
|
||||
mov DWORD PTR[12+rbp],edx
|
||||
mov DWORD PTR[((0*4))+rbp],eax
|
||||
mov DWORD PTR[((1*4))+rbp],ebx
|
||||
mov DWORD PTR[((2*4))+rbp],ecx
|
||||
mov DWORD PTR[((3*4))+rbp],edx
|
||||
|
||||
mov r15,QWORD PTR[rsp]
|
||||
mov r14,QWORD PTR[8+rsp]
|
||||
|
||||
738
deps/openssl/asm/x64-win32-masm/rc4/rc4-x86_64.asm
vendored
738
deps/openssl/asm/x64-win32-masm/rc4/rc4-x86_64.asm
vendored
@@ -1,6 +1,5 @@
|
||||
OPTION DOTNAME
|
||||
.text$ SEGMENT ALIGN(64) 'CODE'
|
||||
EXTERN OPENSSL_ia32cap_P:NEAR
|
||||
|
||||
PUBLIC RC4
|
||||
|
||||
@@ -25,511 +24,316 @@ $L$entry::
|
||||
push r12
|
||||
push r13
|
||||
$L$prologue::
|
||||
mov r11,rsi
|
||||
mov r12,rdx
|
||||
mov r13,rcx
|
||||
xor r10,r10
|
||||
xor rcx,rcx
|
||||
|
||||
lea rdi,QWORD PTR[8+rdi]
|
||||
mov r10b,BYTE PTR[((-8))+rdi]
|
||||
mov cl,BYTE PTR[((-4))+rdi]
|
||||
add rdi,8
|
||||
mov r8d,DWORD PTR[((-8))+rdi]
|
||||
mov r12d,DWORD PTR[((-4))+rdi]
|
||||
cmp DWORD PTR[256+rdi],-1
|
||||
je $L$RC4_CHAR
|
||||
mov r8d,DWORD PTR[OPENSSL_ia32cap_P]
|
||||
xor rbx,rbx
|
||||
inc r10b
|
||||
sub rbx,r10
|
||||
sub r13,r12
|
||||
mov eax,DWORD PTR[r10*4+rdi]
|
||||
test r11,-16
|
||||
inc r8b
|
||||
mov r9d,DWORD PTR[r8*4+rdi]
|
||||
test rsi,-8
|
||||
jz $L$loop1
|
||||
bt r8d,30
|
||||
jc $L$intel
|
||||
and rbx,7
|
||||
lea rsi,QWORD PTR[1+r10]
|
||||
jz $L$oop8
|
||||
sub r11,rbx
|
||||
$L$oop8_warmup::
|
||||
add cl,al
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],eax
|
||||
mov DWORD PTR[r10*4+rdi],edx
|
||||
add al,dl
|
||||
jmp $L$loop8
|
||||
ALIGN 16
|
||||
$L$loop8::
|
||||
add r12b,r9b
|
||||
mov r10,r8
|
||||
mov r13d,DWORD PTR[r12*4+rdi]
|
||||
ror rax,8
|
||||
inc r10b
|
||||
mov edx,DWORD PTR[rax*4+rdi]
|
||||
mov eax,DWORD PTR[r10*4+rdi]
|
||||
xor dl,BYTE PTR[r12]
|
||||
mov BYTE PTR[r12*1+r13],dl
|
||||
lea r12,QWORD PTR[1+r12]
|
||||
dec rbx
|
||||
jnz $L$oop8_warmup
|
||||
|
||||
lea rsi,QWORD PTR[1+r10]
|
||||
jmp $L$oop8
|
||||
ALIGN 16
|
||||
$L$oop8::
|
||||
add cl,al
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],eax
|
||||
mov ebx,DWORD PTR[rsi*4+rdi]
|
||||
ror r8,8
|
||||
mov DWORD PTR[r10*4+rdi],edx
|
||||
add dl,al
|
||||
mov r8b,BYTE PTR[rdx*4+rdi]
|
||||
add cl,bl
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],ebx
|
||||
mov eax,DWORD PTR[4+rsi*4+rdi]
|
||||
ror r8,8
|
||||
mov DWORD PTR[4+r10*4+rdi],edx
|
||||
add dl,bl
|
||||
mov r8b,BYTE PTR[rdx*4+rdi]
|
||||
add cl,al
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],eax
|
||||
mov ebx,DWORD PTR[8+rsi*4+rdi]
|
||||
ror r8,8
|
||||
mov DWORD PTR[8+r10*4+rdi],edx
|
||||
add dl,al
|
||||
mov r8b,BYTE PTR[rdx*4+rdi]
|
||||
add cl,bl
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],ebx
|
||||
mov eax,DWORD PTR[12+rsi*4+rdi]
|
||||
ror r8,8
|
||||
mov DWORD PTR[12+r10*4+rdi],edx
|
||||
add dl,bl
|
||||
mov r8b,BYTE PTR[rdx*4+rdi]
|
||||
add cl,al
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],eax
|
||||
mov ebx,DWORD PTR[16+rsi*4+rdi]
|
||||
ror r8,8
|
||||
mov DWORD PTR[16+r10*4+rdi],edx
|
||||
add dl,al
|
||||
mov r8b,BYTE PTR[rdx*4+rdi]
|
||||
add cl,bl
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],ebx
|
||||
mov eax,DWORD PTR[20+rsi*4+rdi]
|
||||
ror r8,8
|
||||
mov DWORD PTR[20+r10*4+rdi],edx
|
||||
add dl,bl
|
||||
mov r8b,BYTE PTR[rdx*4+rdi]
|
||||
add cl,al
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],eax
|
||||
mov ebx,DWORD PTR[24+rsi*4+rdi]
|
||||
ror r8,8
|
||||
mov DWORD PTR[24+r10*4+rdi],edx
|
||||
add dl,al
|
||||
mov r8b,BYTE PTR[rdx*4+rdi]
|
||||
add sil,8
|
||||
add cl,bl
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],ebx
|
||||
mov eax,DWORD PTR[((-4))+rsi*4+rdi]
|
||||
ror r8,8
|
||||
mov DWORD PTR[28+r10*4+rdi],edx
|
||||
add dl,bl
|
||||
mov r8b,BYTE PTR[rdx*4+rdi]
|
||||
add r10b,8
|
||||
ror r8,8
|
||||
sub r11,8
|
||||
|
||||
xor r8,QWORD PTR[r12]
|
||||
mov QWORD PTR[r12*1+r13],r8
|
||||
lea r12,QWORD PTR[8+r12]
|
||||
|
||||
test r11,-8
|
||||
jnz $L$oop8
|
||||
cmp r11,0
|
||||
jne $L$loop1
|
||||
jmp $L$exit
|
||||
|
||||
ALIGN 16
|
||||
$L$intel::
|
||||
test r11,-32
|
||||
jz $L$loop1
|
||||
and rbx,15
|
||||
jz $L$oop16_is_hot
|
||||
sub r11,rbx
|
||||
$L$oop16_warmup::
|
||||
add cl,al
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],eax
|
||||
mov DWORD PTR[r10*4+rdi],edx
|
||||
add al,dl
|
||||
mov r11d,DWORD PTR[r10*4+rdi]
|
||||
cmp r12,r10
|
||||
mov DWORD PTR[r12*4+rdi],r9d
|
||||
cmove r11,r9
|
||||
mov DWORD PTR[r8*4+rdi],r13d
|
||||
add r13b,r9b
|
||||
mov al,BYTE PTR[r13*4+rdi]
|
||||
add r12b,r11b
|
||||
mov r8,r10
|
||||
mov r13d,DWORD PTR[r12*4+rdi]
|
||||
ror rax,8
|
||||
inc r8b
|
||||
mov r9d,DWORD PTR[r8*4+rdi]
|
||||
cmp r12,r8
|
||||
mov DWORD PTR[r12*4+rdi],r11d
|
||||
cmove r9,r11
|
||||
mov DWORD PTR[r10*4+rdi],r13d
|
||||
add r13b,r11b
|
||||
mov al,BYTE PTR[r13*4+rdi]
|
||||
add r12b,r9b
|
||||
mov r10,r8
|
||||
mov r13d,DWORD PTR[r12*4+rdi]
|
||||
ror rax,8
|
||||
inc r10b
|
||||
mov edx,DWORD PTR[rax*4+rdi]
|
||||
mov eax,DWORD PTR[r10*4+rdi]
|
||||
xor dl,BYTE PTR[r12]
|
||||
mov BYTE PTR[r12*1+r13],dl
|
||||
lea r12,QWORD PTR[1+r12]
|
||||
dec rbx
|
||||
jnz $L$oop16_warmup
|
||||
mov r11d,DWORD PTR[r10*4+rdi]
|
||||
cmp r12,r10
|
||||
mov DWORD PTR[r12*4+rdi],r9d
|
||||
cmove r11,r9
|
||||
mov DWORD PTR[r8*4+rdi],r13d
|
||||
add r13b,r9b
|
||||
mov al,BYTE PTR[r13*4+rdi]
|
||||
add r12b,r11b
|
||||
mov r8,r10
|
||||
mov r13d,DWORD PTR[r12*4+rdi]
|
||||
ror rax,8
|
||||
inc r8b
|
||||
mov r9d,DWORD PTR[r8*4+rdi]
|
||||
cmp r12,r8
|
||||
mov DWORD PTR[r12*4+rdi],r11d
|
||||
cmove r9,r11
|
||||
mov DWORD PTR[r10*4+rdi],r13d
|
||||
add r13b,r11b
|
||||
mov al,BYTE PTR[r13*4+rdi]
|
||||
add r12b,r9b
|
||||
mov r10,r8
|
||||
mov r13d,DWORD PTR[r12*4+rdi]
|
||||
ror rax,8
|
||||
inc r10b
|
||||
mov r11d,DWORD PTR[r10*4+rdi]
|
||||
cmp r12,r10
|
||||
mov DWORD PTR[r12*4+rdi],r9d
|
||||
cmove r11,r9
|
||||
mov DWORD PTR[r8*4+rdi],r13d
|
||||
add r13b,r9b
|
||||
mov al,BYTE PTR[r13*4+rdi]
|
||||
add r12b,r11b
|
||||
mov r8,r10
|
||||
mov r13d,DWORD PTR[r12*4+rdi]
|
||||
ror rax,8
|
||||
inc r8b
|
||||
mov r9d,DWORD PTR[r8*4+rdi]
|
||||
cmp r12,r8
|
||||
mov DWORD PTR[r12*4+rdi],r11d
|
||||
cmove r9,r11
|
||||
mov DWORD PTR[r10*4+rdi],r13d
|
||||
add r13b,r11b
|
||||
mov al,BYTE PTR[r13*4+rdi]
|
||||
add r12b,r9b
|
||||
mov r10,r8
|
||||
mov r13d,DWORD PTR[r12*4+rdi]
|
||||
ror rax,8
|
||||
inc r10b
|
||||
mov r11d,DWORD PTR[r10*4+rdi]
|
||||
cmp r12,r10
|
||||
mov DWORD PTR[r12*4+rdi],r9d
|
||||
cmove r11,r9
|
||||
mov DWORD PTR[r8*4+rdi],r13d
|
||||
add r13b,r9b
|
||||
mov al,BYTE PTR[r13*4+rdi]
|
||||
add r12b,r11b
|
||||
mov r8,r10
|
||||
mov r13d,DWORD PTR[r12*4+rdi]
|
||||
ror rax,8
|
||||
inc r8b
|
||||
mov r9d,DWORD PTR[r8*4+rdi]
|
||||
cmp r12,r8
|
||||
mov DWORD PTR[r12*4+rdi],r11d
|
||||
cmove r9,r11
|
||||
mov DWORD PTR[r10*4+rdi],r13d
|
||||
add r13b,r11b
|
||||
mov al,BYTE PTR[r13*4+rdi]
|
||||
ror rax,8
|
||||
sub rsi,8
|
||||
|
||||
mov rbx,rcx
|
||||
xor rcx,rcx
|
||||
mov cl,bl
|
||||
xor rax,QWORD PTR[rdx]
|
||||
add rdx,8
|
||||
mov QWORD PTR[rcx],rax
|
||||
add rcx,8
|
||||
|
||||
$L$oop16_is_hot::
|
||||
lea rsi,QWORD PTR[r10*4+rdi]
|
||||
add cl,al
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
pxor xmm0,xmm0
|
||||
mov DWORD PTR[rcx*4+rdi],eax
|
||||
add al,dl
|
||||
mov ebx,DWORD PTR[4+rsi]
|
||||
movzx eax,al
|
||||
mov DWORD PTR[rsi],edx
|
||||
add cl,bl
|
||||
pinsrw xmm0,WORD PTR[rax*4+rdi],0
|
||||
jmp $L$oop16_enter
|
||||
ALIGN 16
|
||||
$L$oop16::
|
||||
add cl,al
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
pxor xmm2,xmm0
|
||||
psllq xmm1,8
|
||||
pxor xmm0,xmm0
|
||||
mov DWORD PTR[rcx*4+rdi],eax
|
||||
add al,dl
|
||||
mov ebx,DWORD PTR[4+rsi]
|
||||
movzx eax,al
|
||||
mov DWORD PTR[rsi],edx
|
||||
pxor xmm2,xmm1
|
||||
add cl,bl
|
||||
pinsrw xmm0,WORD PTR[rax*4+rdi],0
|
||||
movdqu XMMWORD PTR[r12*1+r13],xmm2
|
||||
lea r12,QWORD PTR[16+r12]
|
||||
$L$oop16_enter::
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
pxor xmm1,xmm1
|
||||
mov DWORD PTR[rcx*4+rdi],ebx
|
||||
add bl,dl
|
||||
mov eax,DWORD PTR[8+rsi]
|
||||
movzx ebx,bl
|
||||
mov DWORD PTR[4+rsi],edx
|
||||
add cl,al
|
||||
pinsrw xmm1,WORD PTR[rbx*4+rdi],0
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],eax
|
||||
add al,dl
|
||||
mov ebx,DWORD PTR[12+rsi]
|
||||
movzx eax,al
|
||||
mov DWORD PTR[8+rsi],edx
|
||||
add cl,bl
|
||||
pinsrw xmm0,WORD PTR[rax*4+rdi],1
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],ebx
|
||||
add bl,dl
|
||||
mov eax,DWORD PTR[16+rsi]
|
||||
movzx ebx,bl
|
||||
mov DWORD PTR[12+rsi],edx
|
||||
add cl,al
|
||||
pinsrw xmm1,WORD PTR[rbx*4+rdi],1
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],eax
|
||||
add al,dl
|
||||
mov ebx,DWORD PTR[20+rsi]
|
||||
movzx eax,al
|
||||
mov DWORD PTR[16+rsi],edx
|
||||
add cl,bl
|
||||
pinsrw xmm0,WORD PTR[rax*4+rdi],2
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],ebx
|
||||
add bl,dl
|
||||
mov eax,DWORD PTR[24+rsi]
|
||||
movzx ebx,bl
|
||||
mov DWORD PTR[20+rsi],edx
|
||||
add cl,al
|
||||
pinsrw xmm1,WORD PTR[rbx*4+rdi],2
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],eax
|
||||
add al,dl
|
||||
mov ebx,DWORD PTR[28+rsi]
|
||||
movzx eax,al
|
||||
mov DWORD PTR[24+rsi],edx
|
||||
add cl,bl
|
||||
pinsrw xmm0,WORD PTR[rax*4+rdi],3
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],ebx
|
||||
add bl,dl
|
||||
mov eax,DWORD PTR[32+rsi]
|
||||
movzx ebx,bl
|
||||
mov DWORD PTR[28+rsi],edx
|
||||
add cl,al
|
||||
pinsrw xmm1,WORD PTR[rbx*4+rdi],3
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],eax
|
||||
add al,dl
|
||||
mov ebx,DWORD PTR[36+rsi]
|
||||
movzx eax,al
|
||||
mov DWORD PTR[32+rsi],edx
|
||||
add cl,bl
|
||||
pinsrw xmm0,WORD PTR[rax*4+rdi],4
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],ebx
|
||||
add bl,dl
|
||||
mov eax,DWORD PTR[40+rsi]
|
||||
movzx ebx,bl
|
||||
mov DWORD PTR[36+rsi],edx
|
||||
add cl,al
|
||||
pinsrw xmm1,WORD PTR[rbx*4+rdi],4
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],eax
|
||||
add al,dl
|
||||
mov ebx,DWORD PTR[44+rsi]
|
||||
movzx eax,al
|
||||
mov DWORD PTR[40+rsi],edx
|
||||
add cl,bl
|
||||
pinsrw xmm0,WORD PTR[rax*4+rdi],5
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],ebx
|
||||
add bl,dl
|
||||
mov eax,DWORD PTR[48+rsi]
|
||||
movzx ebx,bl
|
||||
mov DWORD PTR[44+rsi],edx
|
||||
add cl,al
|
||||
pinsrw xmm1,WORD PTR[rbx*4+rdi],5
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],eax
|
||||
add al,dl
|
||||
mov ebx,DWORD PTR[52+rsi]
|
||||
movzx eax,al
|
||||
mov DWORD PTR[48+rsi],edx
|
||||
add cl,bl
|
||||
pinsrw xmm0,WORD PTR[rax*4+rdi],6
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],ebx
|
||||
add bl,dl
|
||||
mov eax,DWORD PTR[56+rsi]
|
||||
movzx ebx,bl
|
||||
mov DWORD PTR[52+rsi],edx
|
||||
add cl,al
|
||||
pinsrw xmm1,WORD PTR[rbx*4+rdi],6
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],eax
|
||||
add al,dl
|
||||
mov ebx,DWORD PTR[60+rsi]
|
||||
movzx eax,al
|
||||
mov DWORD PTR[56+rsi],edx
|
||||
add cl,bl
|
||||
pinsrw xmm0,WORD PTR[rax*4+rdi],7
|
||||
add r10b,16
|
||||
movdqu xmm2,XMMWORD PTR[r12]
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],ebx
|
||||
add bl,dl
|
||||
movzx ebx,bl
|
||||
mov DWORD PTR[60+rsi],edx
|
||||
lea rsi,QWORD PTR[r10*4+rdi]
|
||||
pinsrw xmm1,WORD PTR[rbx*4+rdi],7
|
||||
mov eax,DWORD PTR[rsi]
|
||||
mov rbx,rcx
|
||||
xor rcx,rcx
|
||||
sub r11,16
|
||||
mov cl,bl
|
||||
test r11,-16
|
||||
jnz $L$oop16
|
||||
|
||||
psllq xmm1,8
|
||||
pxor xmm2,xmm0
|
||||
pxor xmm2,xmm1
|
||||
movdqu XMMWORD PTR[r12*1+r13],xmm2
|
||||
lea r12,QWORD PTR[16+r12]
|
||||
|
||||
cmp r11,0
|
||||
test rsi,-8
|
||||
jnz $L$loop8
|
||||
cmp rsi,0
|
||||
jne $L$loop1
|
||||
jmp $L$exit
|
||||
|
||||
ALIGN 16
|
||||
$L$loop1::
|
||||
add cl,al
|
||||
mov edx,DWORD PTR[rcx*4+rdi]
|
||||
mov DWORD PTR[rcx*4+rdi],eax
|
||||
mov DWORD PTR[r10*4+rdi],edx
|
||||
add al,dl
|
||||
inc r10b
|
||||
mov edx,DWORD PTR[rax*4+rdi]
|
||||
mov eax,DWORD PTR[r10*4+rdi]
|
||||
xor dl,BYTE PTR[r12]
|
||||
mov BYTE PTR[r12*1+r13],dl
|
||||
lea r12,QWORD PTR[1+r12]
|
||||
dec r11
|
||||
add r12b,r9b
|
||||
mov r13d,DWORD PTR[r12*4+rdi]
|
||||
mov DWORD PTR[r12*4+rdi],r9d
|
||||
mov DWORD PTR[r8*4+rdi],r13d
|
||||
add r9b,r13b
|
||||
inc r8b
|
||||
mov r13d,DWORD PTR[r9*4+rdi]
|
||||
mov r9d,DWORD PTR[r8*4+rdi]
|
||||
xor r13b,BYTE PTR[rdx]
|
||||
inc rdx
|
||||
mov BYTE PTR[rcx],r13b
|
||||
inc rcx
|
||||
dec rsi
|
||||
jnz $L$loop1
|
||||
jmp $L$exit
|
||||
|
||||
ALIGN 16
|
||||
$L$RC4_CHAR::
|
||||
add r10b,1
|
||||
movzx eax,BYTE PTR[r10*1+rdi]
|
||||
test r11,-8
|
||||
add r8b,1
|
||||
movzx r9d,BYTE PTR[r8*1+rdi]
|
||||
test rsi,-8
|
||||
jz $L$cloop1
|
||||
cmp DWORD PTR[260+rdi],0
|
||||
jnz $L$cloop1
|
||||
jmp $L$cloop8
|
||||
ALIGN 16
|
||||
$L$cloop8::
|
||||
mov r8d,DWORD PTR[r12]
|
||||
mov r9d,DWORD PTR[4+r12]
|
||||
add cl,al
|
||||
lea rsi,QWORD PTR[1+r10]
|
||||
movzx edx,BYTE PTR[rcx*1+rdi]
|
||||
movzx esi,sil
|
||||
movzx ebx,BYTE PTR[rsi*1+rdi]
|
||||
mov BYTE PTR[rcx*1+rdi],al
|
||||
cmp rcx,rsi
|
||||
mov BYTE PTR[r10*1+rdi],dl
|
||||
mov eax,DWORD PTR[rdx]
|
||||
mov ebx,DWORD PTR[4+rdx]
|
||||
add r12b,r9b
|
||||
lea r10,QWORD PTR[1+r8]
|
||||
movzx r13d,BYTE PTR[r12*1+rdi]
|
||||
movzx r10d,r10b
|
||||
movzx r11d,BYTE PTR[r10*1+rdi]
|
||||
mov BYTE PTR[r12*1+rdi],r9b
|
||||
cmp r12,r10
|
||||
mov BYTE PTR[r8*1+rdi],r13b
|
||||
jne $L$cmov0
|
||||
|
||||
mov rbx,rax
|
||||
mov r11,r9
|
||||
$L$cmov0::
|
||||
add dl,al
|
||||
xor r8b,BYTE PTR[rdx*1+rdi]
|
||||
ror r8d,8
|
||||
add cl,bl
|
||||
lea r10,QWORD PTR[1+rsi]
|
||||
movzx edx,BYTE PTR[rcx*1+rdi]
|
||||
movzx r10d,r10b
|
||||
movzx eax,BYTE PTR[r10*1+rdi]
|
||||
mov BYTE PTR[rcx*1+rdi],bl
|
||||
cmp rcx,r10
|
||||
mov BYTE PTR[rsi*1+rdi],dl
|
||||
add r13b,r9b
|
||||
xor al,BYTE PTR[r13*1+rdi]
|
||||
ror eax,8
|
||||
add r12b,r11b
|
||||
lea r8,QWORD PTR[1+r10]
|
||||
movzx r13d,BYTE PTR[r12*1+rdi]
|
||||
movzx r8d,r8b
|
||||
movzx r9d,BYTE PTR[r8*1+rdi]
|
||||
mov BYTE PTR[r12*1+rdi],r11b
|
||||
cmp r12,r8
|
||||
mov BYTE PTR[r10*1+rdi],r13b
|
||||
jne $L$cmov1
|
||||
|
||||
mov rax,rbx
|
||||
mov r9,r11
|
||||
$L$cmov1::
|
||||
add dl,bl
|
||||
xor r8b,BYTE PTR[rdx*1+rdi]
|
||||
ror r8d,8
|
||||
add cl,al
|
||||
lea rsi,QWORD PTR[1+r10]
|
||||
movzx edx,BYTE PTR[rcx*1+rdi]
|
||||
movzx esi,sil
|
||||
movzx ebx,BYTE PTR[rsi*1+rdi]
|
||||
mov BYTE PTR[rcx*1+rdi],al
|
||||
cmp rcx,rsi
|
||||
mov BYTE PTR[r10*1+rdi],dl
|
||||
add r13b,r11b
|
||||
xor al,BYTE PTR[r13*1+rdi]
|
||||
ror eax,8
|
||||
add r12b,r9b
|
||||
lea r10,QWORD PTR[1+r8]
|
||||
movzx r13d,BYTE PTR[r12*1+rdi]
|
||||
movzx r10d,r10b
|
||||
movzx r11d,BYTE PTR[r10*1+rdi]
|
||||
mov BYTE PTR[r12*1+rdi],r9b
|
||||
cmp r12,r10
|
||||
mov BYTE PTR[r8*1+rdi],r13b
|
||||
jne $L$cmov2
|
||||
|
||||
mov rbx,rax
|
||||
mov r11,r9
|
||||
$L$cmov2::
|
||||
add dl,al
|
||||
xor r8b,BYTE PTR[rdx*1+rdi]
|
||||
ror r8d,8
|
||||
add cl,bl
|
||||
lea r10,QWORD PTR[1+rsi]
|
||||
movzx edx,BYTE PTR[rcx*1+rdi]
|
||||
movzx r10d,r10b
|
||||
movzx eax,BYTE PTR[r10*1+rdi]
|
||||
mov BYTE PTR[rcx*1+rdi],bl
|
||||
cmp rcx,r10
|
||||
mov BYTE PTR[rsi*1+rdi],dl
|
||||
add r13b,r9b
|
||||
xor al,BYTE PTR[r13*1+rdi]
|
||||
ror eax,8
|
||||
add r12b,r11b
|
||||
lea r8,QWORD PTR[1+r10]
|
||||
movzx r13d,BYTE PTR[r12*1+rdi]
|
||||
movzx r8d,r8b
|
||||
movzx r9d,BYTE PTR[r8*1+rdi]
|
||||
mov BYTE PTR[r12*1+rdi],r11b
|
||||
cmp r12,r8
|
||||
mov BYTE PTR[r10*1+rdi],r13b
|
||||
jne $L$cmov3
|
||||
|
||||
mov rax,rbx
|
||||
mov r9,r11
|
||||
$L$cmov3::
|
||||
add dl,bl
|
||||
xor r8b,BYTE PTR[rdx*1+rdi]
|
||||
ror r8d,8
|
||||
add cl,al
|
||||
lea rsi,QWORD PTR[1+r10]
|
||||
movzx edx,BYTE PTR[rcx*1+rdi]
|
||||
movzx esi,sil
|
||||
movzx ebx,BYTE PTR[rsi*1+rdi]
|
||||
mov BYTE PTR[rcx*1+rdi],al
|
||||
cmp rcx,rsi
|
||||
mov BYTE PTR[r10*1+rdi],dl
|
||||
add r13b,r11b
|
||||
xor al,BYTE PTR[r13*1+rdi]
|
||||
ror eax,8
|
||||
add r12b,r9b
|
||||
lea r10,QWORD PTR[1+r8]
|
||||
movzx r13d,BYTE PTR[r12*1+rdi]
|
||||
movzx r10d,r10b
|
||||
movzx r11d,BYTE PTR[r10*1+rdi]
|
||||
mov BYTE PTR[r12*1+rdi],r9b
|
||||
cmp r12,r10
|
||||
mov BYTE PTR[r8*1+rdi],r13b
|
||||
jne $L$cmov4
|
||||
|
||||
mov rbx,rax
|
||||
mov r11,r9
|
||||
$L$cmov4::
|
||||
add dl,al
|
||||
xor r9b,BYTE PTR[rdx*1+rdi]
|
||||
ror r9d,8
|
||||
add cl,bl
|
||||
lea r10,QWORD PTR[1+rsi]
|
||||
movzx edx,BYTE PTR[rcx*1+rdi]
|
||||
movzx r10d,r10b
|
||||
movzx eax,BYTE PTR[r10*1+rdi]
|
||||
mov BYTE PTR[rcx*1+rdi],bl
|
||||
cmp rcx,r10
|
||||
mov BYTE PTR[rsi*1+rdi],dl
|
||||
add r13b,r9b
|
||||
xor bl,BYTE PTR[r13*1+rdi]
|
||||
ror ebx,8
|
||||
add r12b,r11b
|
||||
lea r8,QWORD PTR[1+r10]
|
||||
movzx r13d,BYTE PTR[r12*1+rdi]
|
||||
movzx r8d,r8b
|
||||
movzx r9d,BYTE PTR[r8*1+rdi]
|
||||
mov BYTE PTR[r12*1+rdi],r11b
|
||||
cmp r12,r8
|
||||
mov BYTE PTR[r10*1+rdi],r13b
|
||||
jne $L$cmov5
|
||||
|
||||
mov rax,rbx
|
||||
mov r9,r11
|
||||
$L$cmov5::
|
||||
add dl,bl
|
||||
xor r9b,BYTE PTR[rdx*1+rdi]
|
||||
ror r9d,8
|
||||
add cl,al
|
||||
lea rsi,QWORD PTR[1+r10]
|
||||
movzx edx,BYTE PTR[rcx*1+rdi]
|
||||
movzx esi,sil
|
||||
movzx ebx,BYTE PTR[rsi*1+rdi]
|
||||
mov BYTE PTR[rcx*1+rdi],al
|
||||
cmp rcx,rsi
|
||||
mov BYTE PTR[r10*1+rdi],dl
|
||||
add r13b,r11b
|
||||
xor bl,BYTE PTR[r13*1+rdi]
|
||||
ror ebx,8
|
||||
add r12b,r9b
|
||||
lea r10,QWORD PTR[1+r8]
|
||||
movzx r13d,BYTE PTR[r12*1+rdi]
|
||||
movzx r10d,r10b
|
||||
movzx r11d,BYTE PTR[r10*1+rdi]
|
||||
mov BYTE PTR[r12*1+rdi],r9b
|
||||
cmp r12,r10
|
||||
mov BYTE PTR[r8*1+rdi],r13b
|
||||
jne $L$cmov6
|
||||
|
||||
mov rbx,rax
|
||||
mov r11,r9
|
||||
$L$cmov6::
|
||||
add dl,al
|
||||
xor r9b,BYTE PTR[rdx*1+rdi]
|
||||
ror r9d,8
|
||||
add cl,bl
|
||||
lea r10,QWORD PTR[1+rsi]
|
||||
movzx edx,BYTE PTR[rcx*1+rdi]
|
||||
movzx r10d,r10b
|
||||
movzx eax,BYTE PTR[r10*1+rdi]
|
||||
mov BYTE PTR[rcx*1+rdi],bl
|
||||
cmp rcx,r10
|
||||
mov BYTE PTR[rsi*1+rdi],dl
|
||||
add r13b,r9b
|
||||
xor bl,BYTE PTR[r13*1+rdi]
|
||||
ror ebx,8
|
||||
add r12b,r11b
|
||||
lea r8,QWORD PTR[1+r10]
|
||||
movzx r13d,BYTE PTR[r12*1+rdi]
|
||||
movzx r8d,r8b
|
||||
movzx r9d,BYTE PTR[r8*1+rdi]
|
||||
mov BYTE PTR[r12*1+rdi],r11b
|
||||
cmp r12,r8
|
||||
mov BYTE PTR[r10*1+rdi],r13b
|
||||
jne $L$cmov7
|
||||
|
||||
mov rax,rbx
|
||||
mov r9,r11
|
||||
$L$cmov7::
|
||||
add dl,bl
|
||||
xor r9b,BYTE PTR[rdx*1+rdi]
|
||||
ror r9d,8
|
||||
lea r11,QWORD PTR[((-8))+r11]
|
||||
mov DWORD PTR[r13],r8d
|
||||
lea r12,QWORD PTR[8+r12]
|
||||
mov DWORD PTR[4+r13],r9d
|
||||
lea r13,QWORD PTR[8+r13]
|
||||
add r13b,r11b
|
||||
xor bl,BYTE PTR[r13*1+rdi]
|
||||
ror ebx,8
|
||||
lea rsi,QWORD PTR[((-8))+rsi]
|
||||
mov DWORD PTR[rcx],eax
|
||||
lea rdx,QWORD PTR[8+rdx]
|
||||
mov DWORD PTR[4+rcx],ebx
|
||||
lea rcx,QWORD PTR[8+rcx]
|
||||
|
||||
test r11,-8
|
||||
test rsi,-8
|
||||
jnz $L$cloop8
|
||||
cmp r11,0
|
||||
cmp rsi,0
|
||||
jne $L$cloop1
|
||||
jmp $L$exit
|
||||
ALIGN 16
|
||||
$L$cloop1::
|
||||
add cl,al
|
||||
movzx ecx,cl
|
||||
movzx edx,BYTE PTR[rcx*1+rdi]
|
||||
mov BYTE PTR[rcx*1+rdi],al
|
||||
mov BYTE PTR[r10*1+rdi],dl
|
||||
add dl,al
|
||||
add r10b,1
|
||||
movzx edx,dl
|
||||
movzx r10d,r10b
|
||||
movzx edx,BYTE PTR[rdx*1+rdi]
|
||||
movzx eax,BYTE PTR[r10*1+rdi]
|
||||
xor dl,BYTE PTR[r12]
|
||||
lea r12,QWORD PTR[1+r12]
|
||||
mov BYTE PTR[r13],dl
|
||||
lea r13,QWORD PTR[1+r13]
|
||||
sub r11,1
|
||||
add r12b,r9b
|
||||
movzx r13d,BYTE PTR[r12*1+rdi]
|
||||
mov BYTE PTR[r12*1+rdi],r9b
|
||||
mov BYTE PTR[r8*1+rdi],r13b
|
||||
add r13b,r9b
|
||||
add r8b,1
|
||||
movzx r13d,r13b
|
||||
movzx r8d,r8b
|
||||
movzx r13d,BYTE PTR[r13*1+rdi]
|
||||
movzx r9d,BYTE PTR[r8*1+rdi]
|
||||
xor r13b,BYTE PTR[rdx]
|
||||
lea rdx,QWORD PTR[1+rdx]
|
||||
mov BYTE PTR[rcx],r13b
|
||||
lea rcx,QWORD PTR[1+rcx]
|
||||
sub rsi,1
|
||||
jnz $L$cloop1
|
||||
jmp $L$exit
|
||||
|
||||
ALIGN 16
|
||||
$L$exit::
|
||||
sub r10b,1
|
||||
mov DWORD PTR[((-8))+rdi],r10d
|
||||
mov DWORD PTR[((-4))+rdi],ecx
|
||||
sub r8b,1
|
||||
mov DWORD PTR[((-8))+rdi],r8d
|
||||
mov DWORD PTR[((-4))+rdi],r12d
|
||||
|
||||
mov r13,QWORD PTR[rsp]
|
||||
mov r12,QWORD PTR[8+rsp]
|
||||
@@ -541,14 +345,15 @@ $L$epilogue::
|
||||
DB 0F3h,0C3h ;repret
|
||||
$L$SEH_end_RC4::
|
||||
RC4 ENDP
|
||||
PUBLIC private_RC4_set_key
|
||||
EXTERN OPENSSL_ia32cap_P:NEAR
|
||||
PUBLIC RC4_set_key
|
||||
|
||||
ALIGN 16
|
||||
private_RC4_set_key PROC PUBLIC
|
||||
RC4_set_key PROC PUBLIC
|
||||
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
|
||||
mov QWORD PTR[16+rsp],rsi
|
||||
mov rax,rsp
|
||||
$L$SEH_begin_private_RC4_set_key::
|
||||
$L$SEH_begin_RC4_set_key::
|
||||
mov rdi,rcx
|
||||
mov rsi,rdx
|
||||
mov rdx,r8
|
||||
@@ -565,8 +370,11 @@ $L$SEH_begin_private_RC4_set_key::
|
||||
|
||||
mov r8d,DWORD PTR[OPENSSL_ia32cap_P]
|
||||
bt r8d,20
|
||||
jc $L$c1stloop
|
||||
jmp $L$w1stloop
|
||||
jnc $L$w1stloop
|
||||
bt r8d,30
|
||||
setc r9b
|
||||
mov DWORD PTR[260+rdi],r9d
|
||||
jmp $L$c1stloop
|
||||
|
||||
ALIGN 16
|
||||
$L$w1stloop::
|
||||
@@ -622,8 +430,8 @@ $L$exit_key::
|
||||
mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
|
||||
mov rsi,QWORD PTR[16+rsp]
|
||||
DB 0F3h,0C3h ;repret
|
||||
$L$SEH_end_private_RC4_set_key::
|
||||
private_RC4_set_key ENDP
|
||||
$L$SEH_end_RC4_set_key::
|
||||
RC4_set_key ENDP
|
||||
|
||||
PUBLIC RC4_options
|
||||
|
||||
@@ -632,20 +440,18 @@ RC4_options PROC PUBLIC
|
||||
lea rax,QWORD PTR[$L$opts]
|
||||
mov edx,DWORD PTR[OPENSSL_ia32cap_P]
|
||||
bt edx,20
|
||||
jc $L$8xchar
|
||||
jnc $L$done
|
||||
add rax,12
|
||||
bt edx,30
|
||||
jnc $L$done
|
||||
add rax,25
|
||||
DB 0F3h,0C3h ;repret
|
||||
$L$8xchar::
|
||||
add rax,12
|
||||
add rax,13
|
||||
$L$done::
|
||||
DB 0F3h,0C3h ;repret
|
||||
ALIGN 64
|
||||
$L$opts::
|
||||
DB 114,99,52,40,56,120,44,105,110,116,41,0
|
||||
DB 114,99,52,40,56,120,44,99,104,97,114,41,0
|
||||
DB 114,99,52,40,49,54,120,44,105,110,116,41,0
|
||||
DB 114,99,52,40,49,120,44,99,104,97,114,41,0
|
||||
DB 82,67,52,32,102,111,114,32,120,56,54,95,54,52,44,32
|
||||
DB 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
|
||||
DB 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
|
||||
@@ -762,9 +568,9 @@ ALIGN 4
|
||||
DD imagerel $L$SEH_end_RC4
|
||||
DD imagerel $L$SEH_info_RC4
|
||||
|
||||
DD imagerel $L$SEH_begin_private_RC4_set_key
|
||||
DD imagerel $L$SEH_end_private_RC4_set_key
|
||||
DD imagerel $L$SEH_info_private_RC4_set_key
|
||||
DD imagerel $L$SEH_begin_RC4_set_key
|
||||
DD imagerel $L$SEH_end_RC4_set_key
|
||||
DD imagerel $L$SEH_info_RC4_set_key
|
||||
|
||||
.pdata ENDS
|
||||
.xdata SEGMENT READONLY ALIGN(8)
|
||||
@@ -772,7 +578,7 @@ ALIGN 8
|
||||
$L$SEH_info_RC4::
|
||||
DB 9,0,0,0
|
||||
DD imagerel stream_se_handler
|
||||
$L$SEH_info_private_RC4_set_key::
|
||||
$L$SEH_info_RC4_set_key::
|
||||
DB 9,0,0,0
|
||||
DD imagerel key_se_handler
|
||||
|
||||
|
||||
3736
deps/openssl/asm/x64-win32-masm/sha/sha1-x86_64.asm
vendored
3736
deps/openssl/asm/x64-win32-masm/sha/sha1-x86_64.asm
vendored
File diff suppressed because it is too large
Load Diff
2720
deps/openssl/asm/x64-win32-masm/sha/sha512-x86_64.asm
vendored
2720
deps/openssl/asm/x64-win32-masm/sha/sha512-x86_64.asm
vendored
File diff suppressed because it is too large
Load Diff
@@ -37,39 +37,39 @@ $L$prologue::
|
||||
|
||||
xor rcx,rcx
|
||||
xor rdx,rdx
|
||||
mov r8,QWORD PTR[rdi]
|
||||
mov r9,QWORD PTR[8+rdi]
|
||||
mov r10,QWORD PTR[16+rdi]
|
||||
mov r11,QWORD PTR[24+rdi]
|
||||
mov r12,QWORD PTR[32+rdi]
|
||||
mov r13,QWORD PTR[40+rdi]
|
||||
mov r14,QWORD PTR[48+rdi]
|
||||
mov r15,QWORD PTR[56+rdi]
|
||||
mov r8,QWORD PTR[((0*8))+rdi]
|
||||
mov r9,QWORD PTR[((1*8))+rdi]
|
||||
mov r10,QWORD PTR[((2*8))+rdi]
|
||||
mov r11,QWORD PTR[((3*8))+rdi]
|
||||
mov r12,QWORD PTR[((4*8))+rdi]
|
||||
mov r13,QWORD PTR[((5*8))+rdi]
|
||||
mov r14,QWORD PTR[((6*8))+rdi]
|
||||
mov r15,QWORD PTR[((7*8))+rdi]
|
||||
$L$outerloop::
|
||||
mov QWORD PTR[rsp],r8
|
||||
mov QWORD PTR[8+rsp],r9
|
||||
mov QWORD PTR[16+rsp],r10
|
||||
mov QWORD PTR[24+rsp],r11
|
||||
mov QWORD PTR[32+rsp],r12
|
||||
mov QWORD PTR[40+rsp],r13
|
||||
mov QWORD PTR[48+rsp],r14
|
||||
mov QWORD PTR[56+rsp],r15
|
||||
xor r8,QWORD PTR[rsi]
|
||||
xor r9,QWORD PTR[8+rsi]
|
||||
xor r10,QWORD PTR[16+rsi]
|
||||
xor r11,QWORD PTR[24+rsi]
|
||||
xor r12,QWORD PTR[32+rsi]
|
||||
xor r13,QWORD PTR[40+rsi]
|
||||
xor r14,QWORD PTR[48+rsi]
|
||||
xor r15,QWORD PTR[56+rsi]
|
||||
mov QWORD PTR[((64+0))+rsp],r8
|
||||
mov QWORD PTR[((64+8))+rsp],r9
|
||||
mov QWORD PTR[((64+16))+rsp],r10
|
||||
mov QWORD PTR[((64+24))+rsp],r11
|
||||
mov QWORD PTR[((64+32))+rsp],r12
|
||||
mov QWORD PTR[((64+40))+rsp],r13
|
||||
mov QWORD PTR[((64+48))+rsp],r14
|
||||
mov QWORD PTR[((64+56))+rsp],r15
|
||||
mov QWORD PTR[((0*8))+rsp],r8
|
||||
mov QWORD PTR[((1*8))+rsp],r9
|
||||
mov QWORD PTR[((2*8))+rsp],r10
|
||||
mov QWORD PTR[((3*8))+rsp],r11
|
||||
mov QWORD PTR[((4*8))+rsp],r12
|
||||
mov QWORD PTR[((5*8))+rsp],r13
|
||||
mov QWORD PTR[((6*8))+rsp],r14
|
||||
mov QWORD PTR[((7*8))+rsp],r15
|
||||
xor r8,QWORD PTR[((0*8))+rsi]
|
||||
xor r9,QWORD PTR[((1*8))+rsi]
|
||||
xor r10,QWORD PTR[((2*8))+rsi]
|
||||
xor r11,QWORD PTR[((3*8))+rsi]
|
||||
xor r12,QWORD PTR[((4*8))+rsi]
|
||||
xor r13,QWORD PTR[((5*8))+rsi]
|
||||
xor r14,QWORD PTR[((6*8))+rsi]
|
||||
xor r15,QWORD PTR[((7*8))+rsi]
|
||||
mov QWORD PTR[((64+0*8))+rsp],r8
|
||||
mov QWORD PTR[((64+1*8))+rsp],r9
|
||||
mov QWORD PTR[((64+2*8))+rsp],r10
|
||||
mov QWORD PTR[((64+3*8))+rsp],r11
|
||||
mov QWORD PTR[((64+4*8))+rsp],r12
|
||||
mov QWORD PTR[((64+5*8))+rsp],r13
|
||||
mov QWORD PTR[((64+6*8))+rsp],r14
|
||||
mov QWORD PTR[((64+7*8))+rsp],r15
|
||||
xor rsi,rsi
|
||||
mov QWORD PTR[24+rbx],rsi
|
||||
ALIGN 16
|
||||
@@ -86,7 +86,7 @@ $L$round::
|
||||
mov r9,QWORD PTR[7+rdi*8+rbp]
|
||||
mov cl,al
|
||||
mov dl,ah
|
||||
mov eax,DWORD PTR[((0+8))+rsp]
|
||||
mov eax,DWORD PTR[((0*8+8))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
mov r10,QWORD PTR[6+rsi*8+rbp]
|
||||
@@ -100,7 +100,7 @@ $L$round::
|
||||
mov r13,QWORD PTR[3+rdi*8+rbp]
|
||||
mov cl,bl
|
||||
mov dl,bh
|
||||
mov ebx,DWORD PTR[((0+8+4))+rsp]
|
||||
mov ebx,DWORD PTR[((0*8+8+4))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
mov r14,QWORD PTR[2+rsi*8+rbp]
|
||||
@@ -114,7 +114,7 @@ $L$round::
|
||||
xor r10,QWORD PTR[7+rdi*8+rbp]
|
||||
mov cl,al
|
||||
mov dl,ah
|
||||
mov eax,DWORD PTR[((8+8))+rsp]
|
||||
mov eax,DWORD PTR[((1*8+8))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r11,QWORD PTR[6+rsi*8+rbp]
|
||||
@@ -128,7 +128,7 @@ $L$round::
|
||||
xor r14,QWORD PTR[3+rdi*8+rbp]
|
||||
mov cl,bl
|
||||
mov dl,bh
|
||||
mov ebx,DWORD PTR[((8+8+4))+rsp]
|
||||
mov ebx,DWORD PTR[((1*8+8+4))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r15,QWORD PTR[2+rsi*8+rbp]
|
||||
@@ -142,7 +142,7 @@ $L$round::
|
||||
xor r11,QWORD PTR[7+rdi*8+rbp]
|
||||
mov cl,al
|
||||
mov dl,ah
|
||||
mov eax,DWORD PTR[((16+8))+rsp]
|
||||
mov eax,DWORD PTR[((2*8+8))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r12,QWORD PTR[6+rsi*8+rbp]
|
||||
@@ -156,7 +156,7 @@ $L$round::
|
||||
xor r15,QWORD PTR[3+rdi*8+rbp]
|
||||
mov cl,bl
|
||||
mov dl,bh
|
||||
mov ebx,DWORD PTR[((16+8+4))+rsp]
|
||||
mov ebx,DWORD PTR[((2*8+8+4))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r8,QWORD PTR[2+rsi*8+rbp]
|
||||
@@ -170,7 +170,7 @@ $L$round::
|
||||
xor r12,QWORD PTR[7+rdi*8+rbp]
|
||||
mov cl,al
|
||||
mov dl,ah
|
||||
mov eax,DWORD PTR[((24+8))+rsp]
|
||||
mov eax,DWORD PTR[((3*8+8))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r13,QWORD PTR[6+rsi*8+rbp]
|
||||
@@ -184,7 +184,7 @@ $L$round::
|
||||
xor r8,QWORD PTR[3+rdi*8+rbp]
|
||||
mov cl,bl
|
||||
mov dl,bh
|
||||
mov ebx,DWORD PTR[((24+8+4))+rsp]
|
||||
mov ebx,DWORD PTR[((3*8+8+4))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r9,QWORD PTR[2+rsi*8+rbp]
|
||||
@@ -198,7 +198,7 @@ $L$round::
|
||||
xor r13,QWORD PTR[7+rdi*8+rbp]
|
||||
mov cl,al
|
||||
mov dl,ah
|
||||
mov eax,DWORD PTR[((32+8))+rsp]
|
||||
mov eax,DWORD PTR[((4*8+8))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r14,QWORD PTR[6+rsi*8+rbp]
|
||||
@@ -212,7 +212,7 @@ $L$round::
|
||||
xor r9,QWORD PTR[3+rdi*8+rbp]
|
||||
mov cl,bl
|
||||
mov dl,bh
|
||||
mov ebx,DWORD PTR[((32+8+4))+rsp]
|
||||
mov ebx,DWORD PTR[((4*8+8+4))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r10,QWORD PTR[2+rsi*8+rbp]
|
||||
@@ -226,7 +226,7 @@ $L$round::
|
||||
xor r14,QWORD PTR[7+rdi*8+rbp]
|
||||
mov cl,al
|
||||
mov dl,ah
|
||||
mov eax,DWORD PTR[((40+8))+rsp]
|
||||
mov eax,DWORD PTR[((5*8+8))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r15,QWORD PTR[6+rsi*8+rbp]
|
||||
@@ -240,7 +240,7 @@ $L$round::
|
||||
xor r10,QWORD PTR[3+rdi*8+rbp]
|
||||
mov cl,bl
|
||||
mov dl,bh
|
||||
mov ebx,DWORD PTR[((40+8+4))+rsp]
|
||||
mov ebx,DWORD PTR[((5*8+8+4))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r11,QWORD PTR[2+rsi*8+rbp]
|
||||
@@ -254,7 +254,7 @@ $L$round::
|
||||
xor r15,QWORD PTR[7+rdi*8+rbp]
|
||||
mov cl,al
|
||||
mov dl,ah
|
||||
mov eax,DWORD PTR[((48+8))+rsp]
|
||||
mov eax,DWORD PTR[((6*8+8))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r8,QWORD PTR[6+rsi*8+rbp]
|
||||
@@ -268,7 +268,7 @@ $L$round::
|
||||
xor r11,QWORD PTR[3+rdi*8+rbp]
|
||||
mov cl,bl
|
||||
mov dl,bh
|
||||
mov ebx,DWORD PTR[((48+8+4))+rsp]
|
||||
mov ebx,DWORD PTR[((6*8+8+4))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r12,QWORD PTR[2+rsi*8+rbp]
|
||||
@@ -282,7 +282,7 @@ $L$round::
|
||||
xor r8,QWORD PTR[7+rdi*8+rbp]
|
||||
mov cl,al
|
||||
mov dl,ah
|
||||
mov eax,DWORD PTR[((56+8))+rsp]
|
||||
mov eax,DWORD PTR[((7*8+8))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r9,QWORD PTR[6+rsi*8+rbp]
|
||||
@@ -296,19 +296,19 @@ $L$round::
|
||||
xor r12,QWORD PTR[3+rdi*8+rbp]
|
||||
mov cl,bl
|
||||
mov dl,bh
|
||||
mov ebx,DWORD PTR[((56+8+4))+rsp]
|
||||
mov ebx,DWORD PTR[((7*8+8+4))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r13,QWORD PTR[2+rsi*8+rbp]
|
||||
xor r14,QWORD PTR[1+rdi*8+rbp]
|
||||
mov QWORD PTR[rsp],r8
|
||||
mov QWORD PTR[8+rsp],r9
|
||||
mov QWORD PTR[16+rsp],r10
|
||||
mov QWORD PTR[24+rsp],r11
|
||||
mov QWORD PTR[32+rsp],r12
|
||||
mov QWORD PTR[40+rsp],r13
|
||||
mov QWORD PTR[48+rsp],r14
|
||||
mov QWORD PTR[56+rsp],r15
|
||||
mov QWORD PTR[((0*8))+rsp],r8
|
||||
mov QWORD PTR[((1*8))+rsp],r9
|
||||
mov QWORD PTR[((2*8))+rsp],r10
|
||||
mov QWORD PTR[((3*8))+rsp],r11
|
||||
mov QWORD PTR[((4*8))+rsp],r12
|
||||
mov QWORD PTR[((5*8))+rsp],r13
|
||||
mov QWORD PTR[((6*8))+rsp],r14
|
||||
mov QWORD PTR[((7*8))+rsp],r15
|
||||
mov cl,al
|
||||
mov dl,ah
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
@@ -318,7 +318,7 @@ $L$round::
|
||||
xor r9,QWORD PTR[7+rdi*8+rbp]
|
||||
mov cl,al
|
||||
mov dl,ah
|
||||
mov eax,DWORD PTR[((64+0+8))+rsp]
|
||||
mov eax,DWORD PTR[((64+0*8+8))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r10,QWORD PTR[6+rsi*8+rbp]
|
||||
@@ -332,7 +332,7 @@ $L$round::
|
||||
xor r13,QWORD PTR[3+rdi*8+rbp]
|
||||
mov cl,bl
|
||||
mov dl,bh
|
||||
mov ebx,DWORD PTR[((64+0+8+4))+rsp]
|
||||
mov ebx,DWORD PTR[((64+0*8+8+4))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r14,QWORD PTR[2+rsi*8+rbp]
|
||||
@@ -346,7 +346,7 @@ $L$round::
|
||||
xor r10,QWORD PTR[7+rdi*8+rbp]
|
||||
mov cl,al
|
||||
mov dl,ah
|
||||
mov eax,DWORD PTR[((64+8+8))+rsp]
|
||||
mov eax,DWORD PTR[((64+1*8+8))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r11,QWORD PTR[6+rsi*8+rbp]
|
||||
@@ -360,7 +360,7 @@ $L$round::
|
||||
xor r14,QWORD PTR[3+rdi*8+rbp]
|
||||
mov cl,bl
|
||||
mov dl,bh
|
||||
mov ebx,DWORD PTR[((64+8+8+4))+rsp]
|
||||
mov ebx,DWORD PTR[((64+1*8+8+4))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r15,QWORD PTR[2+rsi*8+rbp]
|
||||
@@ -374,7 +374,7 @@ $L$round::
|
||||
xor r11,QWORD PTR[7+rdi*8+rbp]
|
||||
mov cl,al
|
||||
mov dl,ah
|
||||
mov eax,DWORD PTR[((64+16+8))+rsp]
|
||||
mov eax,DWORD PTR[((64+2*8+8))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r12,QWORD PTR[6+rsi*8+rbp]
|
||||
@@ -388,7 +388,7 @@ $L$round::
|
||||
xor r15,QWORD PTR[3+rdi*8+rbp]
|
||||
mov cl,bl
|
||||
mov dl,bh
|
||||
mov ebx,DWORD PTR[((64+16+8+4))+rsp]
|
||||
mov ebx,DWORD PTR[((64+2*8+8+4))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r8,QWORD PTR[2+rsi*8+rbp]
|
||||
@@ -402,7 +402,7 @@ $L$round::
|
||||
xor r12,QWORD PTR[7+rdi*8+rbp]
|
||||
mov cl,al
|
||||
mov dl,ah
|
||||
mov eax,DWORD PTR[((64+24+8))+rsp]
|
||||
mov eax,DWORD PTR[((64+3*8+8))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r13,QWORD PTR[6+rsi*8+rbp]
|
||||
@@ -416,7 +416,7 @@ $L$round::
|
||||
xor r8,QWORD PTR[3+rdi*8+rbp]
|
||||
mov cl,bl
|
||||
mov dl,bh
|
||||
mov ebx,DWORD PTR[((64+24+8+4))+rsp]
|
||||
mov ebx,DWORD PTR[((64+3*8+8+4))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r9,QWORD PTR[2+rsi*8+rbp]
|
||||
@@ -430,7 +430,7 @@ $L$round::
|
||||
xor r13,QWORD PTR[7+rdi*8+rbp]
|
||||
mov cl,al
|
||||
mov dl,ah
|
||||
mov eax,DWORD PTR[((64+32+8))+rsp]
|
||||
mov eax,DWORD PTR[((64+4*8+8))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r14,QWORD PTR[6+rsi*8+rbp]
|
||||
@@ -444,7 +444,7 @@ $L$round::
|
||||
xor r9,QWORD PTR[3+rdi*8+rbp]
|
||||
mov cl,bl
|
||||
mov dl,bh
|
||||
mov ebx,DWORD PTR[((64+32+8+4))+rsp]
|
||||
mov ebx,DWORD PTR[((64+4*8+8+4))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r10,QWORD PTR[2+rsi*8+rbp]
|
||||
@@ -458,7 +458,7 @@ $L$round::
|
||||
xor r14,QWORD PTR[7+rdi*8+rbp]
|
||||
mov cl,al
|
||||
mov dl,ah
|
||||
mov eax,DWORD PTR[((64+40+8))+rsp]
|
||||
mov eax,DWORD PTR[((64+5*8+8))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r15,QWORD PTR[6+rsi*8+rbp]
|
||||
@@ -472,7 +472,7 @@ $L$round::
|
||||
xor r10,QWORD PTR[3+rdi*8+rbp]
|
||||
mov cl,bl
|
||||
mov dl,bh
|
||||
mov ebx,DWORD PTR[((64+40+8+4))+rsp]
|
||||
mov ebx,DWORD PTR[((64+5*8+8+4))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r11,QWORD PTR[2+rsi*8+rbp]
|
||||
@@ -486,7 +486,7 @@ $L$round::
|
||||
xor r15,QWORD PTR[7+rdi*8+rbp]
|
||||
mov cl,al
|
||||
mov dl,ah
|
||||
mov eax,DWORD PTR[((64+48+8))+rsp]
|
||||
mov eax,DWORD PTR[((64+6*8+8))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r8,QWORD PTR[6+rsi*8+rbp]
|
||||
@@ -500,7 +500,7 @@ $L$round::
|
||||
xor r11,QWORD PTR[3+rdi*8+rbp]
|
||||
mov cl,bl
|
||||
mov dl,bh
|
||||
mov ebx,DWORD PTR[((64+48+8+4))+rsp]
|
||||
mov ebx,DWORD PTR[((64+6*8+8+4))+rsp]
|
||||
lea rsi,QWORD PTR[rcx*1+rcx]
|
||||
lea rdi,QWORD PTR[rdx*1+rdx]
|
||||
xor r12,QWORD PTR[2+rsi*8+rbp]
|
||||
@@ -540,44 +540,44 @@ $L$round::
|
||||
je $L$roundsdone
|
||||
|
||||
mov QWORD PTR[24+rbx],rsi
|
||||
mov QWORD PTR[((64+0))+rsp],r8
|
||||
mov QWORD PTR[((64+8))+rsp],r9
|
||||
mov QWORD PTR[((64+16))+rsp],r10
|
||||
mov QWORD PTR[((64+24))+rsp],r11
|
||||
mov QWORD PTR[((64+32))+rsp],r12
|
||||
mov QWORD PTR[((64+40))+rsp],r13
|
||||
mov QWORD PTR[((64+48))+rsp],r14
|
||||
mov QWORD PTR[((64+56))+rsp],r15
|
||||
mov QWORD PTR[((64+0*8))+rsp],r8
|
||||
mov QWORD PTR[((64+1*8))+rsp],r9
|
||||
mov QWORD PTR[((64+2*8))+rsp],r10
|
||||
mov QWORD PTR[((64+3*8))+rsp],r11
|
||||
mov QWORD PTR[((64+4*8))+rsp],r12
|
||||
mov QWORD PTR[((64+5*8))+rsp],r13
|
||||
mov QWORD PTR[((64+6*8))+rsp],r14
|
||||
mov QWORD PTR[((64+7*8))+rsp],r15
|
||||
jmp $L$round
|
||||
ALIGN 16
|
||||
$L$roundsdone::
|
||||
mov rdi,QWORD PTR[rbx]
|
||||
mov rsi,QWORD PTR[8+rbx]
|
||||
mov rax,QWORD PTR[16+rbx]
|
||||
xor r8,QWORD PTR[rsi]
|
||||
xor r9,QWORD PTR[8+rsi]
|
||||
xor r10,QWORD PTR[16+rsi]
|
||||
xor r11,QWORD PTR[24+rsi]
|
||||
xor r12,QWORD PTR[32+rsi]
|
||||
xor r13,QWORD PTR[40+rsi]
|
||||
xor r14,QWORD PTR[48+rsi]
|
||||
xor r15,QWORD PTR[56+rsi]
|
||||
xor r8,QWORD PTR[rdi]
|
||||
xor r9,QWORD PTR[8+rdi]
|
||||
xor r10,QWORD PTR[16+rdi]
|
||||
xor r11,QWORD PTR[24+rdi]
|
||||
xor r12,QWORD PTR[32+rdi]
|
||||
xor r13,QWORD PTR[40+rdi]
|
||||
xor r14,QWORD PTR[48+rdi]
|
||||
xor r15,QWORD PTR[56+rdi]
|
||||
mov QWORD PTR[rdi],r8
|
||||
mov QWORD PTR[8+rdi],r9
|
||||
mov QWORD PTR[16+rdi],r10
|
||||
mov QWORD PTR[24+rdi],r11
|
||||
mov QWORD PTR[32+rdi],r12
|
||||
mov QWORD PTR[40+rdi],r13
|
||||
mov QWORD PTR[48+rdi],r14
|
||||
mov QWORD PTR[56+rdi],r15
|
||||
xor r8,QWORD PTR[((0*8))+rsi]
|
||||
xor r9,QWORD PTR[((1*8))+rsi]
|
||||
xor r10,QWORD PTR[((2*8))+rsi]
|
||||
xor r11,QWORD PTR[((3*8))+rsi]
|
||||
xor r12,QWORD PTR[((4*8))+rsi]
|
||||
xor r13,QWORD PTR[((5*8))+rsi]
|
||||
xor r14,QWORD PTR[((6*8))+rsi]
|
||||
xor r15,QWORD PTR[((7*8))+rsi]
|
||||
xor r8,QWORD PTR[((0*8))+rdi]
|
||||
xor r9,QWORD PTR[((1*8))+rdi]
|
||||
xor r10,QWORD PTR[((2*8))+rdi]
|
||||
xor r11,QWORD PTR[((3*8))+rdi]
|
||||
xor r12,QWORD PTR[((4*8))+rdi]
|
||||
xor r13,QWORD PTR[((5*8))+rdi]
|
||||
xor r14,QWORD PTR[((6*8))+rdi]
|
||||
xor r15,QWORD PTR[((7*8))+rdi]
|
||||
mov QWORD PTR[((0*8))+rdi],r8
|
||||
mov QWORD PTR[((1*8))+rdi],r9
|
||||
mov QWORD PTR[((2*8))+rdi],r10
|
||||
mov QWORD PTR[((3*8))+rdi],r11
|
||||
mov QWORD PTR[((4*8))+rdi],r12
|
||||
mov QWORD PTR[((5*8))+rdi],r13
|
||||
mov QWORD PTR[((6*8))+rdi],r14
|
||||
mov QWORD PTR[((7*8))+rdi],r15
|
||||
lea rsi,QWORD PTR[64+rsi]
|
||||
sub rax,1
|
||||
jz $L$alldone
|
||||
|
||||
72
deps/openssl/asm/x64-win32-masm/x86_64cpuid.asm
vendored
72
deps/openssl/asm/x64-win32-masm/x86_64cpuid.asm
vendored
@@ -1,15 +1,9 @@
|
||||
OPTION DOTNAME
|
||||
EXTERN OPENSSL_cpuid_setup:NEAR
|
||||
|
||||
.CRT$XCU SEGMENT READONLY ALIGN(8)
|
||||
DQ OPENSSL_cpuid_setup
|
||||
|
||||
|
||||
.CRT$XCU ENDS
|
||||
_DATA SEGMENT
|
||||
COMM OPENSSL_ia32cap_P:DWORD:2
|
||||
|
||||
_DATA ENDS
|
||||
.text$ SEGMENT ALIGN(64) 'CODE'
|
||||
|
||||
PUBLIC OPENSSL_atomic_add
|
||||
@@ -74,15 +68,7 @@ OPENSSL_ia32_cpuid PROC PUBLIC
|
||||
|
||||
mov eax,080000000h
|
||||
cpuid
|
||||
cmp eax,080000001h
|
||||
jb $L$intel
|
||||
mov r10d,eax
|
||||
mov eax,080000001h
|
||||
cpuid
|
||||
or r9d,ecx
|
||||
and r9d,000000801h
|
||||
|
||||
cmp r10d,080000008h
|
||||
cmp eax,080000008h
|
||||
jb $L$intel
|
||||
|
||||
mov eax,080000008h
|
||||
@@ -93,12 +79,12 @@ OPENSSL_ia32_cpuid PROC PUBLIC
|
||||
mov eax,1
|
||||
cpuid
|
||||
bt edx,28
|
||||
jnc $L$generic
|
||||
jnc $L$done
|
||||
shr ebx,16
|
||||
cmp bl,r10b
|
||||
ja $L$generic
|
||||
ja $L$done
|
||||
and edx,0efffffffh
|
||||
jmp $L$generic
|
||||
jmp $L$done
|
||||
|
||||
$L$intel::
|
||||
cmp r11d,4
|
||||
@@ -115,48 +101,30 @@ $L$intel::
|
||||
$L$nocacheinfo::
|
||||
mov eax,1
|
||||
cpuid
|
||||
and edx,0bfefffffh
|
||||
cmp r9d,0
|
||||
jne $L$notintel
|
||||
or edx,040000000h
|
||||
or edx,000100000h
|
||||
and ah,15
|
||||
cmp ah,15
|
||||
jne $L$notintel
|
||||
or edx,000100000h
|
||||
je $L$notintel
|
||||
or edx,040000000h
|
||||
$L$notintel::
|
||||
bt edx,28
|
||||
jnc $L$generic
|
||||
jnc $L$done
|
||||
and edx,0efffffffh
|
||||
cmp r10d,0
|
||||
je $L$generic
|
||||
je $L$done
|
||||
|
||||
or edx,010000000h
|
||||
shr ebx,16
|
||||
cmp bl,1
|
||||
ja $L$generic
|
||||
ja $L$done
|
||||
and edx,0efffffffh
|
||||
$L$generic::
|
||||
and r9d,000000800h
|
||||
and ecx,0fffff7ffh
|
||||
or r9d,ecx
|
||||
|
||||
mov r10d,edx
|
||||
bt r9d,27
|
||||
jnc $L$clear_avx
|
||||
xor ecx,ecx
|
||||
DB 00fh,001h,0d0h
|
||||
|
||||
and eax,6
|
||||
cmp eax,6
|
||||
je $L$done
|
||||
$L$clear_avx::
|
||||
mov eax,0efffe7ffh
|
||||
and r9d,eax
|
||||
$L$done::
|
||||
shl r9,32
|
||||
mov eax,r10d
|
||||
shl rcx,32
|
||||
mov eax,edx
|
||||
mov rbx,r8
|
||||
or rax,r9
|
||||
or rax,rcx
|
||||
DB 0F3h,0C3h ;repret
|
||||
OPENSSL_ia32_cpuid ENDP
|
||||
|
||||
@@ -213,20 +181,6 @@ OPENSSL_wipe_cpu PROC PUBLIC
|
||||
lea rax,QWORD PTR[8+rsp]
|
||||
DB 0F3h,0C3h ;repret
|
||||
OPENSSL_wipe_cpu ENDP
|
||||
PUBLIC OPENSSL_ia32_rdrand
|
||||
|
||||
ALIGN 16
|
||||
OPENSSL_ia32_rdrand PROC PUBLIC
|
||||
mov ecx,8
|
||||
$L$oop_rdrand::
|
||||
DB 72,15,199,240
|
||||
jc $L$break_rdrand
|
||||
loop $L$oop_rdrand
|
||||
$L$break_rdrand::
|
||||
cmp rax,0
|
||||
cmove rax,rcx
|
||||
DB 0F3h,0C3h ;repret
|
||||
OPENSSL_ia32_rdrand ENDP
|
||||
|
||||
.text$ ENDS
|
||||
END
|
||||
|
||||
22
deps/openssl/asm/x86-elf-gas/aes/aes-586.s
vendored
22
deps/openssl/asm/x86-elf-gas/aes/aes-586.s
vendored
@@ -2986,19 +2986,19 @@ _x86_AES_set_encrypt_key:
|
||||
popl %ebp
|
||||
ret
|
||||
.size _x86_AES_set_encrypt_key,.-_x86_AES_set_encrypt_key
|
||||
.globl private_AES_set_encrypt_key
|
||||
.type private_AES_set_encrypt_key,@function
|
||||
.globl AES_set_encrypt_key
|
||||
.type AES_set_encrypt_key,@function
|
||||
.align 16
|
||||
private_AES_set_encrypt_key:
|
||||
.L_private_AES_set_encrypt_key_begin:
|
||||
AES_set_encrypt_key:
|
||||
.L_AES_set_encrypt_key_begin:
|
||||
call _x86_AES_set_encrypt_key
|
||||
ret
|
||||
.size private_AES_set_encrypt_key,.-.L_private_AES_set_encrypt_key_begin
|
||||
.globl private_AES_set_decrypt_key
|
||||
.type private_AES_set_decrypt_key,@function
|
||||
.size AES_set_encrypt_key,.-.L_AES_set_encrypt_key_begin
|
||||
.globl AES_set_decrypt_key
|
||||
.type AES_set_decrypt_key,@function
|
||||
.align 16
|
||||
private_AES_set_decrypt_key:
|
||||
.L_private_AES_set_decrypt_key_begin:
|
||||
AES_set_decrypt_key:
|
||||
.L_AES_set_decrypt_key_begin:
|
||||
call _x86_AES_set_encrypt_key
|
||||
cmpl $0,%eax
|
||||
je .L054proceed
|
||||
@@ -3227,8 +3227,8 @@ private_AES_set_decrypt_key:
|
||||
popl %ebx
|
||||
popl %ebp
|
||||
ret
|
||||
.size private_AES_set_decrypt_key,.-.L_private_AES_set_decrypt_key_begin
|
||||
.size AES_set_decrypt_key,.-.L_AES_set_decrypt_key_begin
|
||||
.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89
|
||||
.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114
|
||||
.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
||||
.comm OPENSSL_ia32cap_P,8,4
|
||||
.comm OPENSSL_ia32cap_P,4,4
|
||||
|
||||
10
deps/openssl/asm/x86-elf-gas/camellia/cmll-x86.s
vendored
10
deps/openssl/asm/x86-elf-gas/camellia/cmll-x86.s
vendored
@@ -1537,11 +1537,11 @@ Camellia_Ekeygen:
|
||||
popl %ebp
|
||||
ret
|
||||
.size Camellia_Ekeygen,.-.L_Camellia_Ekeygen_begin
|
||||
.globl private_Camellia_set_key
|
||||
.type private_Camellia_set_key,@function
|
||||
.globl Camellia_set_key
|
||||
.type Camellia_set_key,@function
|
||||
.align 16
|
||||
private_Camellia_set_key:
|
||||
.L_private_Camellia_set_key_begin:
|
||||
Camellia_set_key:
|
||||
.L_Camellia_set_key_begin:
|
||||
pushl %ebx
|
||||
movl 8(%esp),%ecx
|
||||
movl 12(%esp),%ebx
|
||||
@@ -1571,7 +1571,7 @@ private_Camellia_set_key:
|
||||
.L014done:
|
||||
popl %ebx
|
||||
ret
|
||||
.size private_Camellia_set_key,.-.L_private_Camellia_set_key_begin
|
||||
.size Camellia_set_key,.-.L_Camellia_set_key_begin
|
||||
.align 64
|
||||
.LCamellia_SIGMA:
|
||||
.long 2694735487,1003262091,3061508184,1286239154,3337565999,3914302142,1426019237,4057165596,283453434,3731369245,2958461122,3018244605,0,0,0,0
|
||||
|
||||
218
deps/openssl/asm/x86-elf-gas/rc4/rc4-586.s
vendored
218
deps/openssl/asm/x86-elf-gas/rc4/rc4-586.s
vendored
@@ -29,146 +29,11 @@ RC4:
|
||||
movl (%edi,%eax,4),%ecx
|
||||
andl $-4,%edx
|
||||
jz .L002loop1
|
||||
testl $-8,%edx
|
||||
movl %ebp,32(%esp)
|
||||
jz .L003go4loop4
|
||||
leal OPENSSL_ia32cap_P,%ebp
|
||||
btl $26,(%ebp)
|
||||
jnc .L003go4loop4
|
||||
movl 32(%esp),%ebp
|
||||
andl $-8,%edx
|
||||
leal -8(%esi,%edx,1),%edx
|
||||
movl %edx,-4(%edi)
|
||||
addb %cl,%bl
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
movl %edx,(%edi,%eax,4)
|
||||
incl %eax
|
||||
addl %ecx,%edx
|
||||
movzbl %al,%eax
|
||||
movzbl %dl,%edx
|
||||
movq (%esi),%mm0
|
||||
movl (%edi,%eax,4),%ecx
|
||||
movd (%edi,%edx,4),%mm2
|
||||
jmp .L004loop_mmx_enter
|
||||
.align 16
|
||||
.L005loop_mmx:
|
||||
addb %cl,%bl
|
||||
psllq $56,%mm1
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
movl %edx,(%edi,%eax,4)
|
||||
incl %eax
|
||||
addl %ecx,%edx
|
||||
movzbl %al,%eax
|
||||
movzbl %dl,%edx
|
||||
pxor %mm1,%mm2
|
||||
movq (%esi),%mm0
|
||||
movq %mm2,-8(%ebp,%esi,1)
|
||||
movl (%edi,%eax,4),%ecx
|
||||
movd (%edi,%edx,4),%mm2
|
||||
.L004loop_mmx_enter:
|
||||
addb %cl,%bl
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
movl %edx,(%edi,%eax,4)
|
||||
incl %eax
|
||||
addl %ecx,%edx
|
||||
movzbl %al,%eax
|
||||
movzbl %dl,%edx
|
||||
pxor %mm0,%mm2
|
||||
movl (%edi,%eax,4),%ecx
|
||||
movd (%edi,%edx,4),%mm1
|
||||
addb %cl,%bl
|
||||
psllq $8,%mm1
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
movl %edx,(%edi,%eax,4)
|
||||
incl %eax
|
||||
addl %ecx,%edx
|
||||
movzbl %al,%eax
|
||||
movzbl %dl,%edx
|
||||
pxor %mm1,%mm2
|
||||
movl (%edi,%eax,4),%ecx
|
||||
movd (%edi,%edx,4),%mm1
|
||||
addb %cl,%bl
|
||||
psllq $16,%mm1
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
movl %edx,(%edi,%eax,4)
|
||||
incl %eax
|
||||
addl %ecx,%edx
|
||||
movzbl %al,%eax
|
||||
movzbl %dl,%edx
|
||||
pxor %mm1,%mm2
|
||||
movl (%edi,%eax,4),%ecx
|
||||
movd (%edi,%edx,4),%mm1
|
||||
addb %cl,%bl
|
||||
psllq $24,%mm1
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
movl %edx,(%edi,%eax,4)
|
||||
incl %eax
|
||||
addl %ecx,%edx
|
||||
movzbl %al,%eax
|
||||
movzbl %dl,%edx
|
||||
pxor %mm1,%mm2
|
||||
movl (%edi,%eax,4),%ecx
|
||||
movd (%edi,%edx,4),%mm1
|
||||
addb %cl,%bl
|
||||
psllq $32,%mm1
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
movl %edx,(%edi,%eax,4)
|
||||
incl %eax
|
||||
addl %ecx,%edx
|
||||
movzbl %al,%eax
|
||||
movzbl %dl,%edx
|
||||
pxor %mm1,%mm2
|
||||
movl (%edi,%eax,4),%ecx
|
||||
movd (%edi,%edx,4),%mm1
|
||||
addb %cl,%bl
|
||||
psllq $40,%mm1
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
movl %edx,(%edi,%eax,4)
|
||||
incl %eax
|
||||
addl %ecx,%edx
|
||||
movzbl %al,%eax
|
||||
movzbl %dl,%edx
|
||||
pxor %mm1,%mm2
|
||||
movl (%edi,%eax,4),%ecx
|
||||
movd (%edi,%edx,4),%mm1
|
||||
addb %cl,%bl
|
||||
psllq $48,%mm1
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
movl %edx,(%edi,%eax,4)
|
||||
incl %eax
|
||||
addl %ecx,%edx
|
||||
movzbl %al,%eax
|
||||
movzbl %dl,%edx
|
||||
pxor %mm1,%mm2
|
||||
movl (%edi,%eax,4),%ecx
|
||||
movd (%edi,%edx,4),%mm1
|
||||
movl %ebx,%edx
|
||||
xorl %ebx,%ebx
|
||||
movb %dl,%bl
|
||||
cmpl -4(%edi),%esi
|
||||
leal 8(%esi),%esi
|
||||
jb .L005loop_mmx
|
||||
psllq $56,%mm1
|
||||
pxor %mm1,%mm2
|
||||
movq %mm2,-8(%ebp,%esi,1)
|
||||
emms
|
||||
cmpl 24(%esp),%esi
|
||||
je .L006done
|
||||
jmp .L002loop1
|
||||
.align 16
|
||||
.L003go4loop4:
|
||||
leal -4(%esi,%edx,1),%edx
|
||||
movl %edx,28(%esp)
|
||||
.L007loop4:
|
||||
movl %ebp,32(%esp)
|
||||
.align 16
|
||||
.L003loop4:
|
||||
addb %cl,%bl
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
@@ -214,9 +79,9 @@ RC4:
|
||||
movl %ebp,(%ecx,%esi,1)
|
||||
leal 4(%esi),%esi
|
||||
movl (%edi,%eax,4),%ecx
|
||||
jb .L007loop4
|
||||
jb .L003loop4
|
||||
cmpl 24(%esp),%esi
|
||||
je .L006done
|
||||
je .L004done
|
||||
movl 32(%esp),%ebp
|
||||
.align 16
|
||||
.L002loop1:
|
||||
@@ -234,11 +99,11 @@ RC4:
|
||||
cmpl 24(%esp),%esi
|
||||
movb %dl,-1(%ebp,%esi,1)
|
||||
jb .L002loop1
|
||||
jmp .L006done
|
||||
jmp .L004done
|
||||
.align 16
|
||||
.L001RC4_CHAR:
|
||||
movzbl (%edi,%eax,1),%ecx
|
||||
.L008cloop1:
|
||||
.L005cloop1:
|
||||
addb %cl,%bl
|
||||
movzbl (%edi,%ebx,1),%edx
|
||||
movb %cl,(%edi,%ebx,1)
|
||||
@@ -251,10 +116,10 @@ RC4:
|
||||
movzbl (%edi,%eax,1),%ecx
|
||||
cmpl 24(%esp),%esi
|
||||
movb %dl,-1(%ebp,%esi,1)
|
||||
jb .L008cloop1
|
||||
.L006done:
|
||||
jb .L005cloop1
|
||||
.L004done:
|
||||
decb %al
|
||||
movl %ebx,-4(%edi)
|
||||
movb %bl,-4(%edi)
|
||||
movb %al,-8(%edi)
|
||||
.L000abort:
|
||||
popl %edi
|
||||
@@ -263,11 +128,11 @@ RC4:
|
||||
popl %ebp
|
||||
ret
|
||||
.size RC4,.-.L_RC4_begin
|
||||
.globl private_RC4_set_key
|
||||
.type private_RC4_set_key,@function
|
||||
.globl RC4_set_key
|
||||
.type RC4_set_key,@function
|
||||
.align 16
|
||||
private_RC4_set_key:
|
||||
.L_private_RC4_set_key_begin:
|
||||
RC4_set_key:
|
||||
.L_RC4_set_key_begin:
|
||||
pushl %ebp
|
||||
pushl %ebx
|
||||
pushl %esi
|
||||
@@ -282,53 +147,53 @@ private_RC4_set_key:
|
||||
xorl %eax,%eax
|
||||
movl %ebp,-4(%edi)
|
||||
btl $20,(%edx)
|
||||
jc .L009c1stloop
|
||||
jc .L006c1stloop
|
||||
.align 16
|
||||
.L010w1stloop:
|
||||
.L007w1stloop:
|
||||
movl %eax,(%edi,%eax,4)
|
||||
addb $1,%al
|
||||
jnc .L010w1stloop
|
||||
jnc .L007w1stloop
|
||||
xorl %ecx,%ecx
|
||||
xorl %edx,%edx
|
||||
.align 16
|
||||
.L011w2ndloop:
|
||||
.L008w2ndloop:
|
||||
movl (%edi,%ecx,4),%eax
|
||||
addb (%esi,%ebp,1),%dl
|
||||
addb %al,%dl
|
||||
addl $1,%ebp
|
||||
movl (%edi,%edx,4),%ebx
|
||||
jnz .L012wnowrap
|
||||
jnz .L009wnowrap
|
||||
movl -4(%edi),%ebp
|
||||
.L012wnowrap:
|
||||
.L009wnowrap:
|
||||
movl %eax,(%edi,%edx,4)
|
||||
movl %ebx,(%edi,%ecx,4)
|
||||
addb $1,%cl
|
||||
jnc .L011w2ndloop
|
||||
jmp .L013exit
|
||||
jnc .L008w2ndloop
|
||||
jmp .L010exit
|
||||
.align 16
|
||||
.L009c1stloop:
|
||||
.L006c1stloop:
|
||||
movb %al,(%edi,%eax,1)
|
||||
addb $1,%al
|
||||
jnc .L009c1stloop
|
||||
jnc .L006c1stloop
|
||||
xorl %ecx,%ecx
|
||||
xorl %edx,%edx
|
||||
xorl %ebx,%ebx
|
||||
.align 16
|
||||
.L014c2ndloop:
|
||||
.L011c2ndloop:
|
||||
movb (%edi,%ecx,1),%al
|
||||
addb (%esi,%ebp,1),%dl
|
||||
addb %al,%dl
|
||||
addl $1,%ebp
|
||||
movb (%edi,%edx,1),%bl
|
||||
jnz .L015cnowrap
|
||||
jnz .L012cnowrap
|
||||
movl -4(%edi),%ebp
|
||||
.L015cnowrap:
|
||||
.L012cnowrap:
|
||||
movb %al,(%edi,%edx,1)
|
||||
movb %bl,(%edi,%ecx,1)
|
||||
addb $1,%cl
|
||||
jnc .L014c2ndloop
|
||||
jnc .L011c2ndloop
|
||||
movl $-1,256(%edi)
|
||||
.L013exit:
|
||||
.L010exit:
|
||||
xorl %eax,%eax
|
||||
movl %eax,-8(%edi)
|
||||
movl %eax,-4(%edi)
|
||||
@@ -337,36 +202,29 @@ private_RC4_set_key:
|
||||
popl %ebx
|
||||
popl %ebp
|
||||
ret
|
||||
.size private_RC4_set_key,.-.L_private_RC4_set_key_begin
|
||||
.size RC4_set_key,.-.L_RC4_set_key_begin
|
||||
.globl RC4_options
|
||||
.type RC4_options,@function
|
||||
.align 16
|
||||
RC4_options:
|
||||
.L_RC4_options_begin:
|
||||
call .L016pic_point
|
||||
.L016pic_point:
|
||||
call .L013pic_point
|
||||
.L013pic_point:
|
||||
popl %eax
|
||||
leal .L017opts-.L016pic_point(%eax),%eax
|
||||
leal .L014opts-.L013pic_point(%eax),%eax
|
||||
leal OPENSSL_ia32cap_P,%edx
|
||||
movl (%edx),%edx
|
||||
btl $20,%edx
|
||||
jc .L0181xchar
|
||||
btl $26,%edx
|
||||
jnc .L019ret
|
||||
addl $25,%eax
|
||||
ret
|
||||
.L0181xchar:
|
||||
btl $20,(%edx)
|
||||
jnc .L015skip
|
||||
addl $12,%eax
|
||||
.L019ret:
|
||||
.L015skip:
|
||||
ret
|
||||
.align 64
|
||||
.L017opts:
|
||||
.L014opts:
|
||||
.byte 114,99,52,40,52,120,44,105,110,116,41,0
|
||||
.byte 114,99,52,40,49,120,44,99,104,97,114,41,0
|
||||
.byte 114,99,52,40,56,120,44,109,109,120,41,0
|
||||
.byte 82,67,52,32,102,111,114,32,120,56,54,44,32,67,82,89
|
||||
.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114
|
||||
.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
||||
.align 64
|
||||
.size RC4_options,.-.L_RC4_options_begin
|
||||
.comm OPENSSL_ia32cap_P,8,4
|
||||
.comm OPENSSL_ia32cap_P,4,4
|
||||
|
||||
1362
deps/openssl/asm/x86-elf-gas/sha/sha1-586.s
vendored
1362
deps/openssl/asm/x86-elf-gas/sha/sha1-586.s
vendored
File diff suppressed because it is too large
Load Diff
71
deps/openssl/asm/x86-elf-gas/sha/sha256-586.s
vendored
71
deps/openssl/asm/x86-elf-gas/sha/sha256-586.s
vendored
@@ -96,30 +96,31 @@ sha256_block_data_order:
|
||||
.L00300_15:
|
||||
movl 92(%esp),%ebx
|
||||
movl %edx,%ecx
|
||||
rorl $14,%ecx
|
||||
movl 20(%esp),%esi
|
||||
xorl %edx,%ecx
|
||||
rorl $5,%ecx
|
||||
xorl %edx,%ecx
|
||||
rorl $6,%ecx
|
||||
movl %edx,%edi
|
||||
rorl $11,%edi
|
||||
movl 20(%esp),%esi
|
||||
xorl %edi,%ecx
|
||||
rorl $14,%edi
|
||||
xorl %edi,%ecx
|
||||
movl 24(%esp),%edi
|
||||
addl %ecx,%ebx
|
||||
xorl %edi,%esi
|
||||
movl %edx,16(%esp)
|
||||
xorl %edi,%esi
|
||||
movl %eax,%ecx
|
||||
andl %edx,%esi
|
||||
movl 12(%esp),%edx
|
||||
xorl %edi,%esi
|
||||
movl %eax,%edi
|
||||
addl %esi,%ebx
|
||||
rorl $9,%ecx
|
||||
addl 28(%esp),%ebx
|
||||
xorl %eax,%ecx
|
||||
rorl $11,%ecx
|
||||
movl 4(%esp),%esi
|
||||
xorl %eax,%ecx
|
||||
rorl $2,%ecx
|
||||
addl 28(%esp),%ebx
|
||||
rorl $13,%edi
|
||||
movl 4(%esp),%esi
|
||||
xorl %edi,%ecx
|
||||
rorl $9,%edi
|
||||
addl %ebx,%edx
|
||||
xorl %edi,%ecx
|
||||
movl 8(%esp),%edi
|
||||
addl %ecx,%ebx
|
||||
movl %eax,(%esp)
|
||||
@@ -141,46 +142,48 @@ sha256_block_data_order:
|
||||
.L00416_63:
|
||||
movl %ebx,%esi
|
||||
movl 100(%esp),%ecx
|
||||
shrl $3,%ebx
|
||||
rorl $7,%esi
|
||||
xorl %esi,%ebx
|
||||
rorl $11,%esi
|
||||
movl %ecx,%edi
|
||||
xorl %ebx,%esi
|
||||
rorl $7,%esi
|
||||
shrl $3,%ebx
|
||||
rorl $2,%edi
|
||||
xorl %esi,%ebx
|
||||
xorl %ecx,%edi
|
||||
rorl $17,%edi
|
||||
shrl $10,%ecx
|
||||
addl 156(%esp),%ebx
|
||||
movl 156(%esp),%esi
|
||||
rorl $17,%edi
|
||||
xorl %edi,%ecx
|
||||
rorl $2,%edi
|
||||
addl %esi,%ebx
|
||||
xorl %ecx,%edi
|
||||
addl 120(%esp),%ebx
|
||||
movl %edx,%ecx
|
||||
addl %edi,%ebx
|
||||
rorl $14,%ecx
|
||||
movl 20(%esp),%esi
|
||||
xorl %edx,%ecx
|
||||
rorl $5,%ecx
|
||||
movl %ebx,92(%esp)
|
||||
xorl %edx,%ecx
|
||||
movl %edx,%ecx
|
||||
addl 120(%esp),%ebx
|
||||
rorl $6,%ecx
|
||||
movl %edx,%edi
|
||||
rorl $11,%edi
|
||||
movl 20(%esp),%esi
|
||||
xorl %edi,%ecx
|
||||
rorl $14,%edi
|
||||
movl %ebx,92(%esp)
|
||||
xorl %edi,%ecx
|
||||
movl 24(%esp),%edi
|
||||
addl %ecx,%ebx
|
||||
xorl %edi,%esi
|
||||
movl %edx,16(%esp)
|
||||
xorl %edi,%esi
|
||||
movl %eax,%ecx
|
||||
andl %edx,%esi
|
||||
movl 12(%esp),%edx
|
||||
xorl %edi,%esi
|
||||
movl %eax,%edi
|
||||
addl %esi,%ebx
|
||||
rorl $9,%ecx
|
||||
addl 28(%esp),%ebx
|
||||
xorl %eax,%ecx
|
||||
rorl $11,%ecx
|
||||
movl 4(%esp),%esi
|
||||
xorl %eax,%ecx
|
||||
rorl $2,%ecx
|
||||
addl 28(%esp),%ebx
|
||||
rorl $13,%edi
|
||||
movl 4(%esp),%esi
|
||||
xorl %edi,%ecx
|
||||
rorl $9,%edi
|
||||
addl %ebx,%edx
|
||||
xorl %edi,%ecx
|
||||
movl 8(%esp),%edi
|
||||
addl %ecx,%ebx
|
||||
movl %eax,(%esp)
|
||||
|
||||
135
deps/openssl/asm/x86-elf-gas/x86cpuid.s
vendored
135
deps/openssl/asm/x86-elf-gas/x86cpuid.s
vendored
@@ -19,9 +19,9 @@ OPENSSL_ia32_cpuid:
|
||||
pushfl
|
||||
popl %eax
|
||||
xorl %eax,%ecx
|
||||
xorl %eax,%eax
|
||||
btl $21,%ecx
|
||||
jnc .L000nocpuid
|
||||
jnc .L000done
|
||||
xorl %eax,%eax
|
||||
.byte 0x0f,0xa2
|
||||
movl %eax,%edi
|
||||
xorl %eax,%eax
|
||||
@@ -47,14 +47,7 @@ OPENSSL_ia32_cpuid:
|
||||
jnz .L001intel
|
||||
movl $2147483648,%eax
|
||||
.byte 0x0f,0xa2
|
||||
cmpl $2147483649,%eax
|
||||
jb .L001intel
|
||||
movl %eax,%esi
|
||||
movl $2147483649,%eax
|
||||
.byte 0x0f,0xa2
|
||||
orl %ecx,%ebp
|
||||
andl $2049,%ebp
|
||||
cmpl $2147483656,%esi
|
||||
cmpl $2147483656,%eax
|
||||
jb .L001intel
|
||||
movl $2147483656,%eax
|
||||
.byte 0x0f,0xa2
|
||||
@@ -63,68 +56,46 @@ OPENSSL_ia32_cpuid:
|
||||
movl $1,%eax
|
||||
.byte 0x0f,0xa2
|
||||
btl $28,%edx
|
||||
jnc .L002generic
|
||||
jnc .L000done
|
||||
shrl $16,%ebx
|
||||
andl $255,%ebx
|
||||
cmpl %esi,%ebx
|
||||
ja .L002generic
|
||||
ja .L000done
|
||||
andl $4026531839,%edx
|
||||
jmp .L002generic
|
||||
jmp .L000done
|
||||
.L001intel:
|
||||
cmpl $4,%edi
|
||||
movl $-1,%edi
|
||||
jb .L003nocacheinfo
|
||||
jb .L002nocacheinfo
|
||||
movl $4,%eax
|
||||
movl $0,%ecx
|
||||
.byte 0x0f,0xa2
|
||||
movl %eax,%edi
|
||||
shrl $14,%edi
|
||||
andl $4095,%edi
|
||||
.L003nocacheinfo:
|
||||
.L002nocacheinfo:
|
||||
movl $1,%eax
|
||||
.byte 0x0f,0xa2
|
||||
andl $3220176895,%edx
|
||||
cmpl $0,%ebp
|
||||
jne .L004notintel
|
||||
orl $1073741824,%edx
|
||||
jne .L003notP4
|
||||
andb $15,%ah
|
||||
cmpb $15,%ah
|
||||
jne .L004notintel
|
||||
jne .L003notP4
|
||||
orl $1048576,%edx
|
||||
.L004notintel:
|
||||
.L003notP4:
|
||||
btl $28,%edx
|
||||
jnc .L002generic
|
||||
jnc .L000done
|
||||
andl $4026531839,%edx
|
||||
cmpl $0,%edi
|
||||
je .L002generic
|
||||
je .L000done
|
||||
orl $268435456,%edx
|
||||
shrl $16,%ebx
|
||||
cmpb $1,%bl
|
||||
ja .L002generic
|
||||
ja .L000done
|
||||
andl $4026531839,%edx
|
||||
.L002generic:
|
||||
andl $2048,%ebp
|
||||
andl $4294965247,%ecx
|
||||
movl %edx,%esi
|
||||
orl %ecx,%ebp
|
||||
btl $27,%ecx
|
||||
jnc .L005clear_avx
|
||||
xorl %ecx,%ecx
|
||||
.byte 15,1,208
|
||||
andl $6,%eax
|
||||
cmpl $6,%eax
|
||||
je .L006done
|
||||
cmpl $2,%eax
|
||||
je .L005clear_avx
|
||||
.L007clear_xmm:
|
||||
andl $4261412861,%ebp
|
||||
andl $4278190079,%esi
|
||||
.L005clear_avx:
|
||||
andl $4026525695,%ebp
|
||||
.L006done:
|
||||
movl %esi,%eax
|
||||
movl %ebp,%edx
|
||||
.L000nocpuid:
|
||||
.L000done:
|
||||
movl %edx,%eax
|
||||
movl %ecx,%edx
|
||||
popl %edi
|
||||
popl %esi
|
||||
popl %ebx
|
||||
@@ -140,9 +111,9 @@ OPENSSL_rdtsc:
|
||||
xorl %edx,%edx
|
||||
leal OPENSSL_ia32cap_P,%ecx
|
||||
btl $4,(%ecx)
|
||||
jnc .L008notsc
|
||||
jnc .L004notsc
|
||||
.byte 0x0f,0x31
|
||||
.L008notsc:
|
||||
.L004notsc:
|
||||
ret
|
||||
.size OPENSSL_rdtsc,.-.L_OPENSSL_rdtsc_begin
|
||||
.globl OPENSSL_instrument_halt
|
||||
@@ -152,14 +123,14 @@ OPENSSL_instrument_halt:
|
||||
.L_OPENSSL_instrument_halt_begin:
|
||||
leal OPENSSL_ia32cap_P,%ecx
|
||||
btl $4,(%ecx)
|
||||
jnc .L009nohalt
|
||||
jnc .L005nohalt
|
||||
.long 2421723150
|
||||
andl $3,%eax
|
||||
jnz .L009nohalt
|
||||
jnz .L005nohalt
|
||||
pushfl
|
||||
popl %eax
|
||||
btl $9,%eax
|
||||
jnc .L009nohalt
|
||||
jnc .L005nohalt
|
||||
.byte 0x0f,0x31
|
||||
pushl %edx
|
||||
pushl %eax
|
||||
@@ -169,7 +140,7 @@ OPENSSL_instrument_halt:
|
||||
sbbl 4(%esp),%edx
|
||||
addl $8,%esp
|
||||
ret
|
||||
.L009nohalt:
|
||||
.L005nohalt:
|
||||
xorl %eax,%eax
|
||||
xorl %edx,%edx
|
||||
ret
|
||||
@@ -182,21 +153,21 @@ OPENSSL_far_spin:
|
||||
pushfl
|
||||
popl %eax
|
||||
btl $9,%eax
|
||||
jnc .L010nospin
|
||||
jnc .L006nospin
|
||||
movl 4(%esp),%eax
|
||||
movl 8(%esp),%ecx
|
||||
.long 2430111262
|
||||
xorl %eax,%eax
|
||||
movl (%ecx),%edx
|
||||
jmp .L011spin
|
||||
jmp .L007spin
|
||||
.align 16
|
||||
.L011spin:
|
||||
.L007spin:
|
||||
incl %eax
|
||||
cmpl (%ecx),%edx
|
||||
je .L011spin
|
||||
je .L007spin
|
||||
.long 529567888
|
||||
ret
|
||||
.L010nospin:
|
||||
.L006nospin:
|
||||
xorl %eax,%eax
|
||||
xorl %edx,%edx
|
||||
ret
|
||||
@@ -211,9 +182,9 @@ OPENSSL_wipe_cpu:
|
||||
leal OPENSSL_ia32cap_P,%ecx
|
||||
movl (%ecx),%ecx
|
||||
btl $1,(%ecx)
|
||||
jnc .L012no_x87
|
||||
jnc .L008no_x87
|
||||
.long 4007259865,4007259865,4007259865,4007259865,2430851995
|
||||
.L012no_x87:
|
||||
.L008no_x87:
|
||||
leal 4(%esp),%eax
|
||||
ret
|
||||
.size OPENSSL_wipe_cpu,.-.L_OPENSSL_wipe_cpu_begin
|
||||
@@ -227,11 +198,11 @@ OPENSSL_atomic_add:
|
||||
pushl %ebx
|
||||
nop
|
||||
movl (%edx),%eax
|
||||
.L013spin:
|
||||
.L009spin:
|
||||
leal (%eax,%ecx,1),%ebx
|
||||
nop
|
||||
.long 447811568
|
||||
jne .L013spin
|
||||
jne .L009spin
|
||||
movl %ebx,%eax
|
||||
popl %ebx
|
||||
ret
|
||||
@@ -272,49 +243,37 @@ OPENSSL_cleanse:
|
||||
movl 8(%esp),%ecx
|
||||
xorl %eax,%eax
|
||||
cmpl $7,%ecx
|
||||
jae .L014lot
|
||||
jae .L010lot
|
||||
cmpl $0,%ecx
|
||||
je .L015ret
|
||||
.L016little:
|
||||
je .L011ret
|
||||
.L012little:
|
||||
movb %al,(%edx)
|
||||
subl $1,%ecx
|
||||
leal 1(%edx),%edx
|
||||
jnz .L016little
|
||||
.L015ret:
|
||||
jnz .L012little
|
||||
.L011ret:
|
||||
ret
|
||||
.align 16
|
||||
.L014lot:
|
||||
.L010lot:
|
||||
testl $3,%edx
|
||||
jz .L017aligned
|
||||
jz .L013aligned
|
||||
movb %al,(%edx)
|
||||
leal -1(%ecx),%ecx
|
||||
leal 1(%edx),%edx
|
||||
jmp .L014lot
|
||||
.L017aligned:
|
||||
jmp .L010lot
|
||||
.L013aligned:
|
||||
movl %eax,(%edx)
|
||||
leal -4(%ecx),%ecx
|
||||
testl $-4,%ecx
|
||||
leal 4(%edx),%edx
|
||||
jnz .L017aligned
|
||||
jnz .L013aligned
|
||||
cmpl $0,%ecx
|
||||
jne .L016little
|
||||
jne .L012little
|
||||
ret
|
||||
.size OPENSSL_cleanse,.-.L_OPENSSL_cleanse_begin
|
||||
.globl OPENSSL_ia32_rdrand
|
||||
.type OPENSSL_ia32_rdrand,@function
|
||||
.align 16
|
||||
OPENSSL_ia32_rdrand:
|
||||
.L_OPENSSL_ia32_rdrand_begin:
|
||||
movl $8,%ecx
|
||||
.L018loop:
|
||||
.byte 15,199,240
|
||||
jc .L019break
|
||||
loop .L018loop
|
||||
.L019break:
|
||||
cmpl $0,%eax
|
||||
cmovel %ecx,%eax
|
||||
ret
|
||||
.size OPENSSL_ia32_rdrand,.-.L_OPENSSL_ia32_rdrand_begin
|
||||
.comm OPENSSL_ia32cap_P,8,4
|
||||
.comm OPENSSL_ia32cap_P,4,4
|
||||
.section .init
|
||||
call OPENSSL_cpuid_setup
|
||||
jmp .Linitalign
|
||||
.align 16
|
||||
.Linitalign:
|
||||
|
||||
24
deps/openssl/asm/x86-macosx-gas/aes/aes-586.s
vendored
24
deps/openssl/asm/x86-macosx-gas/aes/aes-586.s
vendored
@@ -975,7 +975,7 @@ L_AES_encrypt_begin:
|
||||
call L004pic_point
|
||||
L004pic_point:
|
||||
popl %ebp
|
||||
movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L004pic_point(%ebp),%eax
|
||||
leal _OPENSSL_ia32cap_P,%eax
|
||||
leal LAES_Te-L004pic_point(%ebp),%ebp
|
||||
leal 764(%esp),%ebx
|
||||
subl %ebp,%ebx
|
||||
@@ -2153,7 +2153,7 @@ L_AES_decrypt_begin:
|
||||
call L010pic_point
|
||||
L010pic_point:
|
||||
popl %ebp
|
||||
movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L010pic_point(%ebp),%eax
|
||||
leal _OPENSSL_ia32cap_P,%eax
|
||||
leal LAES_Td-L010pic_point(%ebp),%ebp
|
||||
leal 764(%esp),%ebx
|
||||
subl %ebp,%ebx
|
||||
@@ -2207,7 +2207,7 @@ L_AES_cbc_encrypt_begin:
|
||||
call L013pic_point
|
||||
L013pic_point:
|
||||
popl %ebp
|
||||
movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L013pic_point(%ebp),%eax
|
||||
leal _OPENSSL_ia32cap_P,%eax
|
||||
cmpl $0,40(%esp)
|
||||
leal LAES_Te-L013pic_point(%ebp),%ebp
|
||||
jne L014picked_te
|
||||
@@ -2950,16 +2950,16 @@ L045exit:
|
||||
popl %ebx
|
||||
popl %ebp
|
||||
ret
|
||||
.globl _private_AES_set_encrypt_key
|
||||
.globl _AES_set_encrypt_key
|
||||
.align 4
|
||||
_private_AES_set_encrypt_key:
|
||||
L_private_AES_set_encrypt_key_begin:
|
||||
_AES_set_encrypt_key:
|
||||
L_AES_set_encrypt_key_begin:
|
||||
call __x86_AES_set_encrypt_key
|
||||
ret
|
||||
.globl _private_AES_set_decrypt_key
|
||||
.globl _AES_set_decrypt_key
|
||||
.align 4
|
||||
_private_AES_set_decrypt_key:
|
||||
L_private_AES_set_decrypt_key_begin:
|
||||
_AES_set_decrypt_key:
|
||||
L_AES_set_decrypt_key_begin:
|
||||
call __x86_AES_set_encrypt_key
|
||||
cmpl $0,%eax
|
||||
je L054proceed
|
||||
@@ -3191,8 +3191,4 @@ L056permute:
|
||||
.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89
|
||||
.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114
|
||||
.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
||||
.section __IMPORT,__pointers,non_lazy_symbol_pointers
|
||||
L_OPENSSL_ia32cap_P$non_lazy_ptr:
|
||||
.indirect_symbol _OPENSSL_ia32cap_P
|
||||
.long 0
|
||||
.comm _OPENSSL_ia32cap_P,8,2
|
||||
.comm _OPENSSL_ia32cap_P,4
|
||||
|
||||
@@ -1519,10 +1519,10 @@ L013done:
|
||||
popl %ebx
|
||||
popl %ebp
|
||||
ret
|
||||
.globl _private_Camellia_set_key
|
||||
.globl _Camellia_set_key
|
||||
.align 4
|
||||
_private_Camellia_set_key:
|
||||
L_private_Camellia_set_key_begin:
|
||||
_Camellia_set_key:
|
||||
L_Camellia_set_key_begin:
|
||||
pushl %ebx
|
||||
movl 8(%esp),%ecx
|
||||
movl 12(%esp),%ebx
|
||||
|
||||
13
deps/openssl/asm/x86-macosx-gas/des/crypt586.s
vendored
13
deps/openssl/asm/x86-macosx-gas/des/crypt586.s
vendored
@@ -13,14 +13,11 @@ L_fcrypt_body_begin:
|
||||
|
||||
xorl %edi,%edi
|
||||
xorl %esi,%esi
|
||||
call L000PIC_me_up
|
||||
L000PIC_me_up:
|
||||
popl %edx
|
||||
movl L_DES_SPtrans$non_lazy_ptr-L000PIC_me_up(%edx),%edx
|
||||
leal _DES_SPtrans,%edx
|
||||
pushl %edx
|
||||
movl 28(%esp),%ebp
|
||||
pushl $25
|
||||
L001start:
|
||||
L000start:
|
||||
|
||||
# Round 0
|
||||
|
||||
@@ -843,7 +840,7 @@ L001start:
|
||||
movl %esi,%edi
|
||||
movl %eax,%esi
|
||||
movl %ebx,(%esp)
|
||||
jnz L001start
|
||||
jnz L000start
|
||||
|
||||
# FP
|
||||
|
||||
@@ -892,7 +889,3 @@ L001start:
|
||||
popl %ebx
|
||||
popl %ebp
|
||||
ret
|
||||
.section __IMPORT,__pointers,non_lazy_symbol_pointers
|
||||
L_DES_SPtrans$non_lazy_ptr:
|
||||
.indirect_symbol _DES_SPtrans
|
||||
.long 0
|
||||
|
||||
231
deps/openssl/asm/x86-macosx-gas/rc4/rc4-586.s
vendored
231
deps/openssl/asm/x86-macosx-gas/rc4/rc4-586.s
vendored
@@ -28,149 +28,11 @@ L_RC4_begin:
|
||||
movl (%edi,%eax,4),%ecx
|
||||
andl $-4,%edx
|
||||
jz L002loop1
|
||||
testl $-8,%edx
|
||||
movl %ebp,32(%esp)
|
||||
jz L003go4loop4
|
||||
call L004PIC_me_up
|
||||
L004PIC_me_up:
|
||||
popl %ebp
|
||||
movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L004PIC_me_up(%ebp),%ebp
|
||||
btl $26,(%ebp)
|
||||
jnc L003go4loop4
|
||||
movl 32(%esp),%ebp
|
||||
andl $-8,%edx
|
||||
leal -8(%esi,%edx,1),%edx
|
||||
movl %edx,-4(%edi)
|
||||
addb %cl,%bl
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
movl %edx,(%edi,%eax,4)
|
||||
incl %eax
|
||||
addl %ecx,%edx
|
||||
movzbl %al,%eax
|
||||
movzbl %dl,%edx
|
||||
movq (%esi),%mm0
|
||||
movl (%edi,%eax,4),%ecx
|
||||
movd (%edi,%edx,4),%mm2
|
||||
jmp L005loop_mmx_enter
|
||||
.align 4,0x90
|
||||
L006loop_mmx:
|
||||
addb %cl,%bl
|
||||
psllq $56,%mm1
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
movl %edx,(%edi,%eax,4)
|
||||
incl %eax
|
||||
addl %ecx,%edx
|
||||
movzbl %al,%eax
|
||||
movzbl %dl,%edx
|
||||
pxor %mm1,%mm2
|
||||
movq (%esi),%mm0
|
||||
movq %mm2,-8(%ebp,%esi,1)
|
||||
movl (%edi,%eax,4),%ecx
|
||||
movd (%edi,%edx,4),%mm2
|
||||
L005loop_mmx_enter:
|
||||
addb %cl,%bl
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
movl %edx,(%edi,%eax,4)
|
||||
incl %eax
|
||||
addl %ecx,%edx
|
||||
movzbl %al,%eax
|
||||
movzbl %dl,%edx
|
||||
pxor %mm0,%mm2
|
||||
movl (%edi,%eax,4),%ecx
|
||||
movd (%edi,%edx,4),%mm1
|
||||
addb %cl,%bl
|
||||
psllq $8,%mm1
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
movl %edx,(%edi,%eax,4)
|
||||
incl %eax
|
||||
addl %ecx,%edx
|
||||
movzbl %al,%eax
|
||||
movzbl %dl,%edx
|
||||
pxor %mm1,%mm2
|
||||
movl (%edi,%eax,4),%ecx
|
||||
movd (%edi,%edx,4),%mm1
|
||||
addb %cl,%bl
|
||||
psllq $16,%mm1
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
movl %edx,(%edi,%eax,4)
|
||||
incl %eax
|
||||
addl %ecx,%edx
|
||||
movzbl %al,%eax
|
||||
movzbl %dl,%edx
|
||||
pxor %mm1,%mm2
|
||||
movl (%edi,%eax,4),%ecx
|
||||
movd (%edi,%edx,4),%mm1
|
||||
addb %cl,%bl
|
||||
psllq $24,%mm1
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
movl %edx,(%edi,%eax,4)
|
||||
incl %eax
|
||||
addl %ecx,%edx
|
||||
movzbl %al,%eax
|
||||
movzbl %dl,%edx
|
||||
pxor %mm1,%mm2
|
||||
movl (%edi,%eax,4),%ecx
|
||||
movd (%edi,%edx,4),%mm1
|
||||
addb %cl,%bl
|
||||
psllq $32,%mm1
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
movl %edx,(%edi,%eax,4)
|
||||
incl %eax
|
||||
addl %ecx,%edx
|
||||
movzbl %al,%eax
|
||||
movzbl %dl,%edx
|
||||
pxor %mm1,%mm2
|
||||
movl (%edi,%eax,4),%ecx
|
||||
movd (%edi,%edx,4),%mm1
|
||||
addb %cl,%bl
|
||||
psllq $40,%mm1
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
movl %edx,(%edi,%eax,4)
|
||||
incl %eax
|
||||
addl %ecx,%edx
|
||||
movzbl %al,%eax
|
||||
movzbl %dl,%edx
|
||||
pxor %mm1,%mm2
|
||||
movl (%edi,%eax,4),%ecx
|
||||
movd (%edi,%edx,4),%mm1
|
||||
addb %cl,%bl
|
||||
psllq $48,%mm1
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
movl %edx,(%edi,%eax,4)
|
||||
incl %eax
|
||||
addl %ecx,%edx
|
||||
movzbl %al,%eax
|
||||
movzbl %dl,%edx
|
||||
pxor %mm1,%mm2
|
||||
movl (%edi,%eax,4),%ecx
|
||||
movd (%edi,%edx,4),%mm1
|
||||
movl %ebx,%edx
|
||||
xorl %ebx,%ebx
|
||||
movb %dl,%bl
|
||||
cmpl -4(%edi),%esi
|
||||
leal 8(%esi),%esi
|
||||
jb L006loop_mmx
|
||||
psllq $56,%mm1
|
||||
pxor %mm1,%mm2
|
||||
movq %mm2,-8(%ebp,%esi,1)
|
||||
emms
|
||||
cmpl 24(%esp),%esi
|
||||
je L007done
|
||||
jmp L002loop1
|
||||
.align 4,0x90
|
||||
L003go4loop4:
|
||||
leal -4(%esi,%edx,1),%edx
|
||||
movl %edx,28(%esp)
|
||||
L008loop4:
|
||||
movl %ebp,32(%esp)
|
||||
.align 4,0x90
|
||||
L003loop4:
|
||||
addb %cl,%bl
|
||||
movl (%edi,%ebx,4),%edx
|
||||
movl %ecx,(%edi,%ebx,4)
|
||||
@@ -216,9 +78,9 @@ L008loop4:
|
||||
movl %ebp,(%ecx,%esi,1)
|
||||
leal 4(%esi),%esi
|
||||
movl (%edi,%eax,4),%ecx
|
||||
jb L008loop4
|
||||
jb L003loop4
|
||||
cmpl 24(%esp),%esi
|
||||
je L007done
|
||||
je L004done
|
||||
movl 32(%esp),%ebp
|
||||
.align 4,0x90
|
||||
L002loop1:
|
||||
@@ -236,11 +98,11 @@ L002loop1:
|
||||
cmpl 24(%esp),%esi
|
||||
movb %dl,-1(%ebp,%esi,1)
|
||||
jb L002loop1
|
||||
jmp L007done
|
||||
jmp L004done
|
||||
.align 4,0x90
|
||||
L001RC4_CHAR:
|
||||
movzbl (%edi,%eax,1),%ecx
|
||||
L009cloop1:
|
||||
L005cloop1:
|
||||
addb %cl,%bl
|
||||
movzbl (%edi,%ebx,1),%edx
|
||||
movb %cl,(%edi,%ebx,1)
|
||||
@@ -253,10 +115,10 @@ L009cloop1:
|
||||
movzbl (%edi,%eax,1),%ecx
|
||||
cmpl 24(%esp),%esi
|
||||
movb %dl,-1(%ebp,%esi,1)
|
||||
jb L009cloop1
|
||||
L007done:
|
||||
jb L005cloop1
|
||||
L004done:
|
||||
decb %al
|
||||
movl %ebx,-4(%edi)
|
||||
movb %bl,-4(%edi)
|
||||
movb %al,-8(%edi)
|
||||
L000abort:
|
||||
popl %edi
|
||||
@@ -264,10 +126,10 @@ L000abort:
|
||||
popl %ebx
|
||||
popl %ebp
|
||||
ret
|
||||
.globl _private_RC4_set_key
|
||||
.globl _RC4_set_key
|
||||
.align 4
|
||||
_private_RC4_set_key:
|
||||
L_private_RC4_set_key_begin:
|
||||
_RC4_set_key:
|
||||
L_RC4_set_key_begin:
|
||||
pushl %ebp
|
||||
pushl %ebx
|
||||
pushl %esi
|
||||
@@ -275,63 +137,60 @@ L_private_RC4_set_key_begin:
|
||||
movl 20(%esp),%edi
|
||||
movl 24(%esp),%ebp
|
||||
movl 28(%esp),%esi
|
||||
call L010PIC_me_up
|
||||
L010PIC_me_up:
|
||||
popl %edx
|
||||
movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L010PIC_me_up(%edx),%edx
|
||||
leal _OPENSSL_ia32cap_P,%edx
|
||||
leal 8(%edi),%edi
|
||||
leal (%esi,%ebp,1),%esi
|
||||
negl %ebp
|
||||
xorl %eax,%eax
|
||||
movl %ebp,-4(%edi)
|
||||
btl $20,(%edx)
|
||||
jc L011c1stloop
|
||||
jc L006c1stloop
|
||||
.align 4,0x90
|
||||
L012w1stloop:
|
||||
L007w1stloop:
|
||||
movl %eax,(%edi,%eax,4)
|
||||
addb $1,%al
|
||||
jnc L012w1stloop
|
||||
jnc L007w1stloop
|
||||
xorl %ecx,%ecx
|
||||
xorl %edx,%edx
|
||||
.align 4,0x90
|
||||
L013w2ndloop:
|
||||
L008w2ndloop:
|
||||
movl (%edi,%ecx,4),%eax
|
||||
addb (%esi,%ebp,1),%dl
|
||||
addb %al,%dl
|
||||
addl $1,%ebp
|
||||
movl (%edi,%edx,4),%ebx
|
||||
jnz L014wnowrap
|
||||
jnz L009wnowrap
|
||||
movl -4(%edi),%ebp
|
||||
L014wnowrap:
|
||||
L009wnowrap:
|
||||
movl %eax,(%edi,%edx,4)
|
||||
movl %ebx,(%edi,%ecx,4)
|
||||
addb $1,%cl
|
||||
jnc L013w2ndloop
|
||||
jmp L015exit
|
||||
jnc L008w2ndloop
|
||||
jmp L010exit
|
||||
.align 4,0x90
|
||||
L011c1stloop:
|
||||
L006c1stloop:
|
||||
movb %al,(%edi,%eax,1)
|
||||
addb $1,%al
|
||||
jnc L011c1stloop
|
||||
jnc L006c1stloop
|
||||
xorl %ecx,%ecx
|
||||
xorl %edx,%edx
|
||||
xorl %ebx,%ebx
|
||||
.align 4,0x90
|
||||
L016c2ndloop:
|
||||
L011c2ndloop:
|
||||
movb (%edi,%ecx,1),%al
|
||||
addb (%esi,%ebp,1),%dl
|
||||
addb %al,%dl
|
||||
addl $1,%ebp
|
||||
movb (%edi,%edx,1),%bl
|
||||
jnz L017cnowrap
|
||||
jnz L012cnowrap
|
||||
movl -4(%edi),%ebp
|
||||
L017cnowrap:
|
||||
L012cnowrap:
|
||||
movb %al,(%edi,%edx,1)
|
||||
movb %bl,(%edi,%ecx,1)
|
||||
addb $1,%cl
|
||||
jnc L016c2ndloop
|
||||
jnc L011c2ndloop
|
||||
movl $-1,256(%edi)
|
||||
L015exit:
|
||||
L010exit:
|
||||
xorl %eax,%eax
|
||||
movl %eax,-8(%edi)
|
||||
movl %eax,-4(%edi)
|
||||
@@ -344,36 +203,22 @@ L015exit:
|
||||
.align 4
|
||||
_RC4_options:
|
||||
L_RC4_options_begin:
|
||||
call L018pic_point
|
||||
L018pic_point:
|
||||
call L013pic_point
|
||||
L013pic_point:
|
||||
popl %eax
|
||||
leal L019opts-L018pic_point(%eax),%eax
|
||||
call L020PIC_me_up
|
||||
L020PIC_me_up:
|
||||
popl %edx
|
||||
movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L020PIC_me_up(%edx),%edx
|
||||
movl (%edx),%edx
|
||||
btl $20,%edx
|
||||
jc L0211xchar
|
||||
btl $26,%edx
|
||||
jnc L022ret
|
||||
addl $25,%eax
|
||||
ret
|
||||
L0211xchar:
|
||||
leal L014opts-L013pic_point(%eax),%eax
|
||||
leal _OPENSSL_ia32cap_P,%edx
|
||||
btl $20,(%edx)
|
||||
jnc L015skip
|
||||
addl $12,%eax
|
||||
L022ret:
|
||||
L015skip:
|
||||
ret
|
||||
.align 6,0x90
|
||||
L019opts:
|
||||
L014opts:
|
||||
.byte 114,99,52,40,52,120,44,105,110,116,41,0
|
||||
.byte 114,99,52,40,49,120,44,99,104,97,114,41,0
|
||||
.byte 114,99,52,40,56,120,44,109,109,120,41,0
|
||||
.byte 82,67,52,32,102,111,114,32,120,56,54,44,32,67,82,89
|
||||
.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114
|
||||
.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
||||
.align 6,0x90
|
||||
.section __IMPORT,__pointers,non_lazy_symbol_pointers
|
||||
L_OPENSSL_ia32cap_P$non_lazy_ptr:
|
||||
.indirect_symbol _OPENSSL_ia32cap_P
|
||||
.long 0
|
||||
.comm _OPENSSL_ia32cap_P,8,2
|
||||
.comm _OPENSSL_ia32cap_P,4
|
||||
|
||||
1262
deps/openssl/asm/x86-macosx-gas/sha/sha1-586.s
vendored
1262
deps/openssl/asm/x86-macosx-gas/sha/sha1-586.s
vendored
File diff suppressed because it is too large
Load Diff
71
deps/openssl/asm/x86-macosx-gas/sha/sha256-586.s
vendored
71
deps/openssl/asm/x86-macosx-gas/sha/sha256-586.s
vendored
@@ -95,30 +95,31 @@ L002loop:
|
||||
L00300_15:
|
||||
movl 92(%esp),%ebx
|
||||
movl %edx,%ecx
|
||||
rorl $14,%ecx
|
||||
movl 20(%esp),%esi
|
||||
xorl %edx,%ecx
|
||||
rorl $5,%ecx
|
||||
xorl %edx,%ecx
|
||||
rorl $6,%ecx
|
||||
movl %edx,%edi
|
||||
rorl $11,%edi
|
||||
movl 20(%esp),%esi
|
||||
xorl %edi,%ecx
|
||||
rorl $14,%edi
|
||||
xorl %edi,%ecx
|
||||
movl 24(%esp),%edi
|
||||
addl %ecx,%ebx
|
||||
xorl %edi,%esi
|
||||
movl %edx,16(%esp)
|
||||
xorl %edi,%esi
|
||||
movl %eax,%ecx
|
||||
andl %edx,%esi
|
||||
movl 12(%esp),%edx
|
||||
xorl %edi,%esi
|
||||
movl %eax,%edi
|
||||
addl %esi,%ebx
|
||||
rorl $9,%ecx
|
||||
addl 28(%esp),%ebx
|
||||
xorl %eax,%ecx
|
||||
rorl $11,%ecx
|
||||
movl 4(%esp),%esi
|
||||
xorl %eax,%ecx
|
||||
rorl $2,%ecx
|
||||
addl 28(%esp),%ebx
|
||||
rorl $13,%edi
|
||||
movl 4(%esp),%esi
|
||||
xorl %edi,%ecx
|
||||
rorl $9,%edi
|
||||
addl %ebx,%edx
|
||||
xorl %edi,%ecx
|
||||
movl 8(%esp),%edi
|
||||
addl %ecx,%ebx
|
||||
movl %eax,(%esp)
|
||||
@@ -140,46 +141,48 @@ L00300_15:
|
||||
L00416_63:
|
||||
movl %ebx,%esi
|
||||
movl 100(%esp),%ecx
|
||||
shrl $3,%ebx
|
||||
rorl $7,%esi
|
||||
xorl %esi,%ebx
|
||||
rorl $11,%esi
|
||||
movl %ecx,%edi
|
||||
xorl %ebx,%esi
|
||||
rorl $7,%esi
|
||||
shrl $3,%ebx
|
||||
rorl $2,%edi
|
||||
xorl %esi,%ebx
|
||||
xorl %ecx,%edi
|
||||
rorl $17,%edi
|
||||
shrl $10,%ecx
|
||||
addl 156(%esp),%ebx
|
||||
movl 156(%esp),%esi
|
||||
rorl $17,%edi
|
||||
xorl %edi,%ecx
|
||||
rorl $2,%edi
|
||||
addl %esi,%ebx
|
||||
xorl %ecx,%edi
|
||||
addl 120(%esp),%ebx
|
||||
movl %edx,%ecx
|
||||
addl %edi,%ebx
|
||||
rorl $14,%ecx
|
||||
movl 20(%esp),%esi
|
||||
xorl %edx,%ecx
|
||||
rorl $5,%ecx
|
||||
movl %ebx,92(%esp)
|
||||
xorl %edx,%ecx
|
||||
movl %edx,%ecx
|
||||
addl 120(%esp),%ebx
|
||||
rorl $6,%ecx
|
||||
movl %edx,%edi
|
||||
rorl $11,%edi
|
||||
movl 20(%esp),%esi
|
||||
xorl %edi,%ecx
|
||||
rorl $14,%edi
|
||||
movl %ebx,92(%esp)
|
||||
xorl %edi,%ecx
|
||||
movl 24(%esp),%edi
|
||||
addl %ecx,%ebx
|
||||
xorl %edi,%esi
|
||||
movl %edx,16(%esp)
|
||||
xorl %edi,%esi
|
||||
movl %eax,%ecx
|
||||
andl %edx,%esi
|
||||
movl 12(%esp),%edx
|
||||
xorl %edi,%esi
|
||||
movl %eax,%edi
|
||||
addl %esi,%ebx
|
||||
rorl $9,%ecx
|
||||
addl 28(%esp),%ebx
|
||||
xorl %eax,%ecx
|
||||
rorl $11,%ecx
|
||||
movl 4(%esp),%esi
|
||||
xorl %eax,%ecx
|
||||
rorl $2,%ecx
|
||||
addl 28(%esp),%ebx
|
||||
rorl $13,%edi
|
||||
movl 4(%esp),%esi
|
||||
xorl %edi,%ecx
|
||||
rorl $9,%edi
|
||||
addl %ebx,%edx
|
||||
xorl %edi,%ecx
|
||||
movl 8(%esp),%edi
|
||||
addl %ecx,%ebx
|
||||
movl %eax,(%esp)
|
||||
|
||||
149
deps/openssl/asm/x86-macosx-gas/x86cpuid.s
vendored
149
deps/openssl/asm/x86-macosx-gas/x86cpuid.s
vendored
@@ -18,9 +18,9 @@ L_OPENSSL_ia32_cpuid_begin:
|
||||
pushfl
|
||||
popl %eax
|
||||
xorl %eax,%ecx
|
||||
xorl %eax,%eax
|
||||
btl $21,%ecx
|
||||
jnc L000nocpuid
|
||||
jnc L000done
|
||||
xorl %eax,%eax
|
||||
.byte 0x0f,0xa2
|
||||
movl %eax,%edi
|
||||
xorl %eax,%eax
|
||||
@@ -46,14 +46,7 @@ L_OPENSSL_ia32_cpuid_begin:
|
||||
jnz L001intel
|
||||
movl $2147483648,%eax
|
||||
.byte 0x0f,0xa2
|
||||
cmpl $2147483649,%eax
|
||||
jb L001intel
|
||||
movl %eax,%esi
|
||||
movl $2147483649,%eax
|
||||
.byte 0x0f,0xa2
|
||||
orl %ecx,%ebp
|
||||
andl $2049,%ebp
|
||||
cmpl $2147483656,%esi
|
||||
cmpl $2147483656,%eax
|
||||
jb L001intel
|
||||
movl $2147483656,%eax
|
||||
.byte 0x0f,0xa2
|
||||
@@ -62,68 +55,46 @@ L_OPENSSL_ia32_cpuid_begin:
|
||||
movl $1,%eax
|
||||
.byte 0x0f,0xa2
|
||||
btl $28,%edx
|
||||
jnc L002generic
|
||||
jnc L000done
|
||||
shrl $16,%ebx
|
||||
andl $255,%ebx
|
||||
cmpl %esi,%ebx
|
||||
ja L002generic
|
||||
ja L000done
|
||||
andl $4026531839,%edx
|
||||
jmp L002generic
|
||||
jmp L000done
|
||||
L001intel:
|
||||
cmpl $4,%edi
|
||||
movl $-1,%edi
|
||||
jb L003nocacheinfo
|
||||
jb L002nocacheinfo
|
||||
movl $4,%eax
|
||||
movl $0,%ecx
|
||||
.byte 0x0f,0xa2
|
||||
movl %eax,%edi
|
||||
shrl $14,%edi
|
||||
andl $4095,%edi
|
||||
L003nocacheinfo:
|
||||
L002nocacheinfo:
|
||||
movl $1,%eax
|
||||
.byte 0x0f,0xa2
|
||||
andl $3220176895,%edx
|
||||
cmpl $0,%ebp
|
||||
jne L004notintel
|
||||
orl $1073741824,%edx
|
||||
jne L003notP4
|
||||
andb $15,%ah
|
||||
cmpb $15,%ah
|
||||
jne L004notintel
|
||||
jne L003notP4
|
||||
orl $1048576,%edx
|
||||
L004notintel:
|
||||
L003notP4:
|
||||
btl $28,%edx
|
||||
jnc L002generic
|
||||
jnc L000done
|
||||
andl $4026531839,%edx
|
||||
cmpl $0,%edi
|
||||
je L002generic
|
||||
je L000done
|
||||
orl $268435456,%edx
|
||||
shrl $16,%ebx
|
||||
cmpb $1,%bl
|
||||
ja L002generic
|
||||
ja L000done
|
||||
andl $4026531839,%edx
|
||||
L002generic:
|
||||
andl $2048,%ebp
|
||||
andl $4294965247,%ecx
|
||||
movl %edx,%esi
|
||||
orl %ecx,%ebp
|
||||
btl $27,%ecx
|
||||
jnc L005clear_avx
|
||||
xorl %ecx,%ecx
|
||||
.byte 15,1,208
|
||||
andl $6,%eax
|
||||
cmpl $6,%eax
|
||||
je L006done
|
||||
cmpl $2,%eax
|
||||
je L005clear_avx
|
||||
L007clear_xmm:
|
||||
andl $4261412861,%ebp
|
||||
andl $4278190079,%esi
|
||||
L005clear_avx:
|
||||
andl $4026525695,%ebp
|
||||
L006done:
|
||||
movl %esi,%eax
|
||||
movl %ebp,%edx
|
||||
L000nocpuid:
|
||||
L000done:
|
||||
movl %edx,%eax
|
||||
movl %ecx,%edx
|
||||
popl %edi
|
||||
popl %esi
|
||||
popl %ebx
|
||||
@@ -135,32 +106,26 @@ _OPENSSL_rdtsc:
|
||||
L_OPENSSL_rdtsc_begin:
|
||||
xorl %eax,%eax
|
||||
xorl %edx,%edx
|
||||
call L008PIC_me_up
|
||||
L008PIC_me_up:
|
||||
popl %ecx
|
||||
movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L008PIC_me_up(%ecx),%ecx
|
||||
leal _OPENSSL_ia32cap_P,%ecx
|
||||
btl $4,(%ecx)
|
||||
jnc L009notsc
|
||||
jnc L004notsc
|
||||
.byte 0x0f,0x31
|
||||
L009notsc:
|
||||
L004notsc:
|
||||
ret
|
||||
.globl _OPENSSL_instrument_halt
|
||||
.align 4
|
||||
_OPENSSL_instrument_halt:
|
||||
L_OPENSSL_instrument_halt_begin:
|
||||
call L010PIC_me_up
|
||||
L010PIC_me_up:
|
||||
popl %ecx
|
||||
movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L010PIC_me_up(%ecx),%ecx
|
||||
leal _OPENSSL_ia32cap_P,%ecx
|
||||
btl $4,(%ecx)
|
||||
jnc L011nohalt
|
||||
jnc L005nohalt
|
||||
.long 2421723150
|
||||
andl $3,%eax
|
||||
jnz L011nohalt
|
||||
jnz L005nohalt
|
||||
pushfl
|
||||
popl %eax
|
||||
btl $9,%eax
|
||||
jnc L011nohalt
|
||||
jnc L005nohalt
|
||||
.byte 0x0f,0x31
|
||||
pushl %edx
|
||||
pushl %eax
|
||||
@@ -170,7 +135,7 @@ L010PIC_me_up:
|
||||
sbbl 4(%esp),%edx
|
||||
addl $8,%esp
|
||||
ret
|
||||
L011nohalt:
|
||||
L005nohalt:
|
||||
xorl %eax,%eax
|
||||
xorl %edx,%edx
|
||||
ret
|
||||
@@ -181,21 +146,21 @@ L_OPENSSL_far_spin_begin:
|
||||
pushfl
|
||||
popl %eax
|
||||
btl $9,%eax
|
||||
jnc L012nospin
|
||||
jnc L006nospin
|
||||
movl 4(%esp),%eax
|
||||
movl 8(%esp),%ecx
|
||||
.long 2430111262
|
||||
xorl %eax,%eax
|
||||
movl (%ecx),%edx
|
||||
jmp L013spin
|
||||
jmp L007spin
|
||||
.align 4,0x90
|
||||
L013spin:
|
||||
L007spin:
|
||||
incl %eax
|
||||
cmpl (%ecx),%edx
|
||||
je L013spin
|
||||
je L007spin
|
||||
.long 529567888
|
||||
ret
|
||||
L012nospin:
|
||||
L006nospin:
|
||||
xorl %eax,%eax
|
||||
xorl %edx,%edx
|
||||
ret
|
||||
@@ -205,15 +170,12 @@ _OPENSSL_wipe_cpu:
|
||||
L_OPENSSL_wipe_cpu_begin:
|
||||
xorl %eax,%eax
|
||||
xorl %edx,%edx
|
||||
call L014PIC_me_up
|
||||
L014PIC_me_up:
|
||||
popl %ecx
|
||||
movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L014PIC_me_up(%ecx),%ecx
|
||||
leal _OPENSSL_ia32cap_P,%ecx
|
||||
movl (%ecx),%ecx
|
||||
btl $1,(%ecx)
|
||||
jnc L015no_x87
|
||||
jnc L008no_x87
|
||||
.long 4007259865,4007259865,4007259865,4007259865,2430851995
|
||||
L015no_x87:
|
||||
L008no_x87:
|
||||
leal 4(%esp),%eax
|
||||
ret
|
||||
.globl _OPENSSL_atomic_add
|
||||
@@ -225,11 +187,11 @@ L_OPENSSL_atomic_add_begin:
|
||||
pushl %ebx
|
||||
nop
|
||||
movl (%edx),%eax
|
||||
L016spin:
|
||||
L009spin:
|
||||
leal (%eax,%ecx,1),%ebx
|
||||
nop
|
||||
.long 447811568
|
||||
jne L016spin
|
||||
jne L009spin
|
||||
movl %ebx,%eax
|
||||
popl %ebx
|
||||
ret
|
||||
@@ -266,51 +228,34 @@ L_OPENSSL_cleanse_begin:
|
||||
movl 8(%esp),%ecx
|
||||
xorl %eax,%eax
|
||||
cmpl $7,%ecx
|
||||
jae L017lot
|
||||
jae L010lot
|
||||
cmpl $0,%ecx
|
||||
je L018ret
|
||||
L019little:
|
||||
je L011ret
|
||||
L012little:
|
||||
movb %al,(%edx)
|
||||
subl $1,%ecx
|
||||
leal 1(%edx),%edx
|
||||
jnz L019little
|
||||
L018ret:
|
||||
jnz L012little
|
||||
L011ret:
|
||||
ret
|
||||
.align 4,0x90
|
||||
L017lot:
|
||||
L010lot:
|
||||
testl $3,%edx
|
||||
jz L020aligned
|
||||
jz L013aligned
|
||||
movb %al,(%edx)
|
||||
leal -1(%ecx),%ecx
|
||||
leal 1(%edx),%edx
|
||||
jmp L017lot
|
||||
L020aligned:
|
||||
jmp L010lot
|
||||
L013aligned:
|
||||
movl %eax,(%edx)
|
||||
leal -4(%ecx),%ecx
|
||||
testl $-4,%ecx
|
||||
leal 4(%edx),%edx
|
||||
jnz L020aligned
|
||||
jnz L013aligned
|
||||
cmpl $0,%ecx
|
||||
jne L019little
|
||||
jne L012little
|
||||
ret
|
||||
.globl _OPENSSL_ia32_rdrand
|
||||
.align 4
|
||||
_OPENSSL_ia32_rdrand:
|
||||
L_OPENSSL_ia32_rdrand_begin:
|
||||
movl $8,%ecx
|
||||
L021loop:
|
||||
.byte 15,199,240
|
||||
jc L022break
|
||||
loop L021loop
|
||||
L022break:
|
||||
cmpl $0,%eax
|
||||
cmovel %ecx,%eax
|
||||
ret
|
||||
.section __IMPORT,__pointers,non_lazy_symbol_pointers
|
||||
L_OPENSSL_ia32cap_P$non_lazy_ptr:
|
||||
.indirect_symbol _OPENSSL_ia32cap_P
|
||||
.long 0
|
||||
.comm _OPENSSL_ia32cap_P,8,2
|
||||
.comm _OPENSSL_ia32cap_P,4
|
||||
.mod_init_func
|
||||
.align 2
|
||||
.long _OPENSSL_cpuid_setup
|
||||
|
||||
14
deps/openssl/asm/x86-win32-masm/aes/aes-586.asm
vendored
14
deps/openssl/asm/x86-win32-masm/aes/aes-586.asm
vendored
@@ -2975,14 +2975,14 @@ $L045exit:
|
||||
ret
|
||||
__x86_AES_set_encrypt_key ENDP
|
||||
ALIGN 16
|
||||
_private_AES_set_encrypt_key PROC PUBLIC
|
||||
$L_private_AES_set_encrypt_key_begin::
|
||||
_AES_set_encrypt_key PROC PUBLIC
|
||||
$L_AES_set_encrypt_key_begin::
|
||||
call __x86_AES_set_encrypt_key
|
||||
ret
|
||||
_private_AES_set_encrypt_key ENDP
|
||||
_AES_set_encrypt_key ENDP
|
||||
ALIGN 16
|
||||
_private_AES_set_decrypt_key PROC PUBLIC
|
||||
$L_private_AES_set_decrypt_key_begin::
|
||||
_AES_set_decrypt_key PROC PUBLIC
|
||||
$L_AES_set_decrypt_key_begin::
|
||||
call __x86_AES_set_encrypt_key
|
||||
cmp eax,0
|
||||
je $L054proceed
|
||||
@@ -3211,12 +3211,12 @@ $L056permute:
|
||||
pop ebx
|
||||
pop ebp
|
||||
ret
|
||||
_private_AES_set_decrypt_key ENDP
|
||||
_AES_set_decrypt_key ENDP
|
||||
DB 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89
|
||||
DB 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114
|
||||
DB 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
||||
.text$ ENDS
|
||||
.bss SEGMENT 'BSS'
|
||||
COMM _OPENSSL_ia32cap_P:QWORD
|
||||
COMM _OPENSSL_ia32cap_P:DWORD
|
||||
.bss ENDS
|
||||
END
|
||||
|
||||
@@ -2,7 +2,7 @@ TITLE bf-686.asm
|
||||
IF @Version LT 800
|
||||
ECHO MASM version 8.00 or later is strongly recommended.
|
||||
ENDIF
|
||||
.686
|
||||
.586
|
||||
.MODEL FLAT
|
||||
OPTION DOTNAME
|
||||
IF @Version LT 800
|
||||
|
||||
@@ -2,7 +2,7 @@ TITLE ../openssl/crypto/bn/asm/x86-mont.asm
|
||||
IF @Version LT 800
|
||||
ECHO MASM version 8.00 or later is strongly recommended.
|
||||
ENDIF
|
||||
.686
|
||||
.586
|
||||
.MODEL FLAT
|
||||
OPTION DOTNAME
|
||||
IF @Version LT 800
|
||||
|
||||
2
deps/openssl/asm/x86-win32-masm/bn/x86.asm
vendored
2
deps/openssl/asm/x86-win32-masm/bn/x86.asm
vendored
@@ -2,7 +2,7 @@ TITLE ../openssl/crypto/bn/asm/x86.asm
|
||||
IF @Version LT 800
|
||||
ECHO MASM version 8.00 or later is strongly recommended.
|
||||
ENDIF
|
||||
.686
|
||||
.586
|
||||
.MODEL FLAT
|
||||
OPTION DOTNAME
|
||||
IF @Version LT 800
|
||||
|
||||
@@ -2,7 +2,7 @@ TITLE cmll-586.asm
|
||||
IF @Version LT 800
|
||||
ECHO MASM version 8.00 or later is strongly recommended.
|
||||
ENDIF
|
||||
.686
|
||||
.586
|
||||
.MODEL FLAT
|
||||
OPTION DOTNAME
|
||||
IF @Version LT 800
|
||||
@@ -1532,8 +1532,8 @@ $L013done:
|
||||
ret
|
||||
_Camellia_Ekeygen ENDP
|
||||
ALIGN 16
|
||||
_private_Camellia_set_key PROC PUBLIC
|
||||
$L_private_Camellia_set_key_begin::
|
||||
_Camellia_set_key PROC PUBLIC
|
||||
$L_Camellia_set_key_begin::
|
||||
push ebx
|
||||
mov ecx,DWORD PTR 8[esp]
|
||||
mov ebx,DWORD PTR 12[esp]
|
||||
@@ -1563,7 +1563,7 @@ ALIGN 4
|
||||
$L014done:
|
||||
pop ebx
|
||||
ret
|
||||
_private_Camellia_set_key ENDP
|
||||
_Camellia_set_key ENDP
|
||||
ALIGN 64
|
||||
$LCamellia_SIGMA::
|
||||
DD 2694735487,1003262091,3061508184,1286239154,3337565999,3914302142,1426019237,4057165596,283453434,3731369245,2958461122,3018244605,0,0,0,0
|
||||
|
||||
@@ -2,7 +2,7 @@ TITLE cast-586.asm
|
||||
IF @Version LT 800
|
||||
ECHO MASM version 8.00 or later is strongly recommended.
|
||||
ENDIF
|
||||
.686
|
||||
.586
|
||||
.MODEL FLAT
|
||||
OPTION DOTNAME
|
||||
IF @Version LT 800
|
||||
|
||||
@@ -2,7 +2,7 @@ TITLE crypt586.asm
|
||||
IF @Version LT 800
|
||||
ECHO MASM version 8.00 or later is strongly recommended.
|
||||
ENDIF
|
||||
.686
|
||||
.586
|
||||
.MODEL FLAT
|
||||
OPTION DOTNAME
|
||||
IF @Version LT 800
|
||||
|
||||
@@ -2,7 +2,7 @@ TITLE des-586.asm
|
||||
IF @Version LT 800
|
||||
ECHO MASM version 8.00 or later is strongly recommended.
|
||||
ENDIF
|
||||
.686
|
||||
.586
|
||||
.MODEL FLAT
|
||||
OPTION DOTNAME
|
||||
IF @Version LT 800
|
||||
|
||||
@@ -2,7 +2,7 @@ TITLE ../openssl/crypto/md5/asm/md5-586.asm
|
||||
IF @Version LT 800
|
||||
ECHO MASM version 8.00 or later is strongly recommended.
|
||||
ENDIF
|
||||
.686
|
||||
.586
|
||||
.MODEL FLAT
|
||||
OPTION DOTNAME
|
||||
IF @Version LT 800
|
||||
|
||||
225
deps/openssl/asm/x86-win32-masm/rc4/rc4-586.asm
vendored
225
deps/openssl/asm/x86-win32-masm/rc4/rc4-586.asm
vendored
@@ -2,14 +2,7 @@ TITLE rc4-586.asm
|
||||
IF @Version LT 800
|
||||
ECHO MASM version 8.00 or later is strongly recommended.
|
||||
ENDIF
|
||||
.686
|
||||
.XMM
|
||||
IF @Version LT 800
|
||||
XMMWORD STRUCT 16
|
||||
DQ 2 dup (?)
|
||||
XMMWORD ENDS
|
||||
ENDIF
|
||||
|
||||
.586
|
||||
.MODEL FLAT
|
||||
OPTION DOTNAME
|
||||
IF @Version LT 800
|
||||
@@ -17,7 +10,6 @@ IF @Version LT 800
|
||||
ELSE
|
||||
.text$ SEGMENT ALIGN(64) 'CODE'
|
||||
ENDIF
|
||||
;EXTERN _OPENSSL_ia32cap_P:NEAR
|
||||
ALIGN 16
|
||||
_RC4 PROC PUBLIC
|
||||
$L_RC4_begin::
|
||||
@@ -45,146 +37,11 @@ $L_RC4_begin::
|
||||
mov ecx,DWORD PTR [eax*4+edi]
|
||||
and edx,-4
|
||||
jz $L002loop1
|
||||
test edx,-8
|
||||
mov DWORD PTR 32[esp],ebp
|
||||
jz $L003go4loop4
|
||||
lea ebp,DWORD PTR _OPENSSL_ia32cap_P
|
||||
bt DWORD PTR [ebp],26
|
||||
jnc $L003go4loop4
|
||||
mov ebp,DWORD PTR 32[esp]
|
||||
and edx,-8
|
||||
lea edx,DWORD PTR [edx*1+esi-8]
|
||||
mov DWORD PTR [edi-4],edx
|
||||
add bl,cl
|
||||
mov edx,DWORD PTR [ebx*4+edi]
|
||||
mov DWORD PTR [ebx*4+edi],ecx
|
||||
mov DWORD PTR [eax*4+edi],edx
|
||||
inc eax
|
||||
add edx,ecx
|
||||
movzx eax,al
|
||||
movzx edx,dl
|
||||
movq mm0,QWORD PTR [esi]
|
||||
mov ecx,DWORD PTR [eax*4+edi]
|
||||
movd mm2,DWORD PTR [edx*4+edi]
|
||||
jmp $L004loop_mmx_enter
|
||||
ALIGN 16
|
||||
$L005loop_mmx:
|
||||
add bl,cl
|
||||
psllq mm1,56
|
||||
mov edx,DWORD PTR [ebx*4+edi]
|
||||
mov DWORD PTR [ebx*4+edi],ecx
|
||||
mov DWORD PTR [eax*4+edi],edx
|
||||
inc eax
|
||||
add edx,ecx
|
||||
movzx eax,al
|
||||
movzx edx,dl
|
||||
pxor mm2,mm1
|
||||
movq mm0,QWORD PTR [esi]
|
||||
movq QWORD PTR [esi*1+ebp-8],mm2
|
||||
mov ecx,DWORD PTR [eax*4+edi]
|
||||
movd mm2,DWORD PTR [edx*4+edi]
|
||||
$L004loop_mmx_enter:
|
||||
add bl,cl
|
||||
mov edx,DWORD PTR [ebx*4+edi]
|
||||
mov DWORD PTR [ebx*4+edi],ecx
|
||||
mov DWORD PTR [eax*4+edi],edx
|
||||
inc eax
|
||||
add edx,ecx
|
||||
movzx eax,al
|
||||
movzx edx,dl
|
||||
pxor mm2,mm0
|
||||
mov ecx,DWORD PTR [eax*4+edi]
|
||||
movd mm1,DWORD PTR [edx*4+edi]
|
||||
add bl,cl
|
||||
psllq mm1,8
|
||||
mov edx,DWORD PTR [ebx*4+edi]
|
||||
mov DWORD PTR [ebx*4+edi],ecx
|
||||
mov DWORD PTR [eax*4+edi],edx
|
||||
inc eax
|
||||
add edx,ecx
|
||||
movzx eax,al
|
||||
movzx edx,dl
|
||||
pxor mm2,mm1
|
||||
mov ecx,DWORD PTR [eax*4+edi]
|
||||
movd mm1,DWORD PTR [edx*4+edi]
|
||||
add bl,cl
|
||||
psllq mm1,16
|
||||
mov edx,DWORD PTR [ebx*4+edi]
|
||||
mov DWORD PTR [ebx*4+edi],ecx
|
||||
mov DWORD PTR [eax*4+edi],edx
|
||||
inc eax
|
||||
add edx,ecx
|
||||
movzx eax,al
|
||||
movzx edx,dl
|
||||
pxor mm2,mm1
|
||||
mov ecx,DWORD PTR [eax*4+edi]
|
||||
movd mm1,DWORD PTR [edx*4+edi]
|
||||
add bl,cl
|
||||
psllq mm1,24
|
||||
mov edx,DWORD PTR [ebx*4+edi]
|
||||
mov DWORD PTR [ebx*4+edi],ecx
|
||||
mov DWORD PTR [eax*4+edi],edx
|
||||
inc eax
|
||||
add edx,ecx
|
||||
movzx eax,al
|
||||
movzx edx,dl
|
||||
pxor mm2,mm1
|
||||
mov ecx,DWORD PTR [eax*4+edi]
|
||||
movd mm1,DWORD PTR [edx*4+edi]
|
||||
add bl,cl
|
||||
psllq mm1,32
|
||||
mov edx,DWORD PTR [ebx*4+edi]
|
||||
mov DWORD PTR [ebx*4+edi],ecx
|
||||
mov DWORD PTR [eax*4+edi],edx
|
||||
inc eax
|
||||
add edx,ecx
|
||||
movzx eax,al
|
||||
movzx edx,dl
|
||||
pxor mm2,mm1
|
||||
mov ecx,DWORD PTR [eax*4+edi]
|
||||
movd mm1,DWORD PTR [edx*4+edi]
|
||||
add bl,cl
|
||||
psllq mm1,40
|
||||
mov edx,DWORD PTR [ebx*4+edi]
|
||||
mov DWORD PTR [ebx*4+edi],ecx
|
||||
mov DWORD PTR [eax*4+edi],edx
|
||||
inc eax
|
||||
add edx,ecx
|
||||
movzx eax,al
|
||||
movzx edx,dl
|
||||
pxor mm2,mm1
|
||||
mov ecx,DWORD PTR [eax*4+edi]
|
||||
movd mm1,DWORD PTR [edx*4+edi]
|
||||
add bl,cl
|
||||
psllq mm1,48
|
||||
mov edx,DWORD PTR [ebx*4+edi]
|
||||
mov DWORD PTR [ebx*4+edi],ecx
|
||||
mov DWORD PTR [eax*4+edi],edx
|
||||
inc eax
|
||||
add edx,ecx
|
||||
movzx eax,al
|
||||
movzx edx,dl
|
||||
pxor mm2,mm1
|
||||
mov ecx,DWORD PTR [eax*4+edi]
|
||||
movd mm1,DWORD PTR [edx*4+edi]
|
||||
mov edx,ebx
|
||||
xor ebx,ebx
|
||||
mov bl,dl
|
||||
cmp esi,DWORD PTR [edi-4]
|
||||
lea esi,DWORD PTR 8[esi]
|
||||
jb $L005loop_mmx
|
||||
psllq mm1,56
|
||||
pxor mm2,mm1
|
||||
movq QWORD PTR [esi*1+ebp-8],mm2
|
||||
emms
|
||||
cmp esi,DWORD PTR 24[esp]
|
||||
je $L006done
|
||||
jmp $L002loop1
|
||||
ALIGN 16
|
||||
$L003go4loop4:
|
||||
lea edx,DWORD PTR [edx*1+esi-4]
|
||||
mov DWORD PTR 28[esp],edx
|
||||
$L007loop4:
|
||||
mov DWORD PTR 32[esp],ebp
|
||||
ALIGN 16
|
||||
$L003loop4:
|
||||
add bl,cl
|
||||
mov edx,DWORD PTR [ebx*4+edi]
|
||||
mov DWORD PTR [ebx*4+edi],ecx
|
||||
@@ -230,9 +87,9 @@ $L007loop4:
|
||||
mov DWORD PTR [esi*1+ecx],ebp
|
||||
lea esi,DWORD PTR 4[esi]
|
||||
mov ecx,DWORD PTR [eax*4+edi]
|
||||
jb $L007loop4
|
||||
jb $L003loop4
|
||||
cmp esi,DWORD PTR 24[esp]
|
||||
je $L006done
|
||||
je $L004done
|
||||
mov ebp,DWORD PTR 32[esp]
|
||||
ALIGN 16
|
||||
$L002loop1:
|
||||
@@ -250,11 +107,11 @@ $L002loop1:
|
||||
cmp esi,DWORD PTR 24[esp]
|
||||
mov BYTE PTR [esi*1+ebp-1],dl
|
||||
jb $L002loop1
|
||||
jmp $L006done
|
||||
jmp $L004done
|
||||
ALIGN 16
|
||||
$L001RC4_CHAR:
|
||||
movzx ecx,BYTE PTR [eax*1+edi]
|
||||
$L008cloop1:
|
||||
$L005cloop1:
|
||||
add bl,cl
|
||||
movzx edx,BYTE PTR [ebx*1+edi]
|
||||
mov BYTE PTR [ebx*1+edi],cl
|
||||
@@ -267,10 +124,10 @@ $L008cloop1:
|
||||
movzx ecx,BYTE PTR [eax*1+edi]
|
||||
cmp esi,DWORD PTR 24[esp]
|
||||
mov BYTE PTR [esi*1+ebp-1],dl
|
||||
jb $L008cloop1
|
||||
$L006done:
|
||||
jb $L005cloop1
|
||||
$L004done:
|
||||
dec al
|
||||
mov DWORD PTR [edi-4],ebx
|
||||
mov BYTE PTR [edi-4],bl
|
||||
mov BYTE PTR [edi-8],al
|
||||
$L000abort:
|
||||
pop edi
|
||||
@@ -279,9 +136,10 @@ $L000abort:
|
||||
pop ebp
|
||||
ret
|
||||
_RC4 ENDP
|
||||
;EXTERN _OPENSSL_ia32cap_P:NEAR
|
||||
ALIGN 16
|
||||
_private_RC4_set_key PROC PUBLIC
|
||||
$L_private_RC4_set_key_begin::
|
||||
_RC4_set_key PROC PUBLIC
|
||||
$L_RC4_set_key_begin::
|
||||
push ebp
|
||||
push ebx
|
||||
push esi
|
||||
@@ -296,53 +154,53 @@ $L_private_RC4_set_key_begin::
|
||||
xor eax,eax
|
||||
mov DWORD PTR [edi-4],ebp
|
||||
bt DWORD PTR [edx],20
|
||||
jc $L009c1stloop
|
||||
jc $L006c1stloop
|
||||
ALIGN 16
|
||||
$L010w1stloop:
|
||||
$L007w1stloop:
|
||||
mov DWORD PTR [eax*4+edi],eax
|
||||
add al,1
|
||||
jnc $L010w1stloop
|
||||
jnc $L007w1stloop
|
||||
xor ecx,ecx
|
||||
xor edx,edx
|
||||
ALIGN 16
|
||||
$L011w2ndloop:
|
||||
$L008w2ndloop:
|
||||
mov eax,DWORD PTR [ecx*4+edi]
|
||||
add dl,BYTE PTR [ebp*1+esi]
|
||||
add dl,al
|
||||
add ebp,1
|
||||
mov ebx,DWORD PTR [edx*4+edi]
|
||||
jnz $L012wnowrap
|
||||
jnz $L009wnowrap
|
||||
mov ebp,DWORD PTR [edi-4]
|
||||
$L012wnowrap:
|
||||
$L009wnowrap:
|
||||
mov DWORD PTR [edx*4+edi],eax
|
||||
mov DWORD PTR [ecx*4+edi],ebx
|
||||
add cl,1
|
||||
jnc $L011w2ndloop
|
||||
jmp $L013exit
|
||||
jnc $L008w2ndloop
|
||||
jmp $L010exit
|
||||
ALIGN 16
|
||||
$L009c1stloop:
|
||||
$L006c1stloop:
|
||||
mov BYTE PTR [eax*1+edi],al
|
||||
add al,1
|
||||
jnc $L009c1stloop
|
||||
jnc $L006c1stloop
|
||||
xor ecx,ecx
|
||||
xor edx,edx
|
||||
xor ebx,ebx
|
||||
ALIGN 16
|
||||
$L014c2ndloop:
|
||||
$L011c2ndloop:
|
||||
mov al,BYTE PTR [ecx*1+edi]
|
||||
add dl,BYTE PTR [ebp*1+esi]
|
||||
add dl,al
|
||||
add ebp,1
|
||||
mov bl,BYTE PTR [edx*1+edi]
|
||||
jnz $L015cnowrap
|
||||
jnz $L012cnowrap
|
||||
mov ebp,DWORD PTR [edi-4]
|
||||
$L015cnowrap:
|
||||
$L012cnowrap:
|
||||
mov BYTE PTR [edx*1+edi],al
|
||||
mov BYTE PTR [ecx*1+edi],bl
|
||||
add cl,1
|
||||
jnc $L014c2ndloop
|
||||
jnc $L011c2ndloop
|
||||
mov DWORD PTR 256[edi],-1
|
||||
$L013exit:
|
||||
$L010exit:
|
||||
xor eax,eax
|
||||
mov DWORD PTR [edi-8],eax
|
||||
mov DWORD PTR [edi-4],eax
|
||||
@@ -351,31 +209,24 @@ $L013exit:
|
||||
pop ebx
|
||||
pop ebp
|
||||
ret
|
||||
_private_RC4_set_key ENDP
|
||||
_RC4_set_key ENDP
|
||||
ALIGN 16
|
||||
_RC4_options PROC PUBLIC
|
||||
$L_RC4_options_begin::
|
||||
call $L016pic_point
|
||||
$L016pic_point:
|
||||
call $L013pic_point
|
||||
$L013pic_point:
|
||||
pop eax
|
||||
lea eax,DWORD PTR ($L017opts-$L016pic_point)[eax]
|
||||
lea eax,DWORD PTR ($L014opts-$L013pic_point)[eax]
|
||||
lea edx,DWORD PTR _OPENSSL_ia32cap_P
|
||||
mov edx,DWORD PTR [edx]
|
||||
bt edx,20
|
||||
jc $L0181xchar
|
||||
bt edx,26
|
||||
jnc $L019ret
|
||||
add eax,25
|
||||
ret
|
||||
$L0181xchar:
|
||||
bt DWORD PTR [edx],20
|
||||
jnc $L015skip
|
||||
add eax,12
|
||||
$L019ret:
|
||||
$L015skip:
|
||||
ret
|
||||
ALIGN 64
|
||||
$L017opts:
|
||||
$L014opts:
|
||||
DB 114,99,52,40,52,120,44,105,110,116,41,0
|
||||
DB 114,99,52,40,49,120,44,99,104,97,114,41,0
|
||||
DB 114,99,52,40,56,120,44,109,109,120,41,0
|
||||
DB 82,67,52,32,102,111,114,32,120,56,54,44,32,67,82,89
|
||||
DB 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114
|
||||
DB 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
||||
@@ -383,6 +234,6 @@ ALIGN 64
|
||||
_RC4_options ENDP
|
||||
.text$ ENDS
|
||||
.bss SEGMENT 'BSS'
|
||||
COMM _OPENSSL_ia32cap_P:QWORD
|
||||
COMM _OPENSSL_ia32cap_P:DWORD
|
||||
.bss ENDS
|
||||
END
|
||||
|
||||
@@ -2,7 +2,7 @@ TITLE rc5-586.asm
|
||||
IF @Version LT 800
|
||||
ECHO MASM version 8.00 or later is strongly recommended.
|
||||
ENDIF
|
||||
.686
|
||||
.586
|
||||
.MODEL FLAT
|
||||
OPTION DOTNAME
|
||||
IF @Version LT 800
|
||||
|
||||
@@ -2,7 +2,7 @@ TITLE ../openssl/crypto/ripemd/asm/rmd-586.asm
|
||||
IF @Version LT 800
|
||||
ECHO MASM version 8.00 or later is strongly recommended.
|
||||
ENDIF
|
||||
.686
|
||||
.586
|
||||
.MODEL FLAT
|
||||
OPTION DOTNAME
|
||||
IF @Version LT 800
|
||||
|
||||
1358
deps/openssl/asm/x86-win32-masm/sha/sha1-586.asm
vendored
1358
deps/openssl/asm/x86-win32-masm/sha/sha1-586.asm
vendored
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@ TITLE sha512-586.asm
|
||||
IF @Version LT 800
|
||||
ECHO MASM version 8.00 or later is strongly recommended.
|
||||
ENDIF
|
||||
.686
|
||||
.586
|
||||
.MODEL FLAT
|
||||
OPTION DOTNAME
|
||||
IF @Version LT 800
|
||||
@@ -104,30 +104,31 @@ ALIGN 16
|
||||
$L00300_15:
|
||||
mov ebx,DWORD PTR 92[esp]
|
||||
mov ecx,edx
|
||||
ror ecx,14
|
||||
mov esi,DWORD PTR 20[esp]
|
||||
xor ecx,edx
|
||||
ror ecx,5
|
||||
xor ecx,edx
|
||||
ror ecx,6
|
||||
mov edi,edx
|
||||
ror edi,11
|
||||
mov esi,DWORD PTR 20[esp]
|
||||
xor ecx,edi
|
||||
ror edi,14
|
||||
xor ecx,edi
|
||||
mov edi,DWORD PTR 24[esp]
|
||||
add ebx,ecx
|
||||
xor esi,edi
|
||||
mov DWORD PTR 16[esp],edx
|
||||
xor esi,edi
|
||||
mov ecx,eax
|
||||
and esi,edx
|
||||
mov edx,DWORD PTR 12[esp]
|
||||
xor esi,edi
|
||||
mov edi,eax
|
||||
add ebx,esi
|
||||
ror ecx,9
|
||||
add ebx,DWORD PTR 28[esp]
|
||||
xor ecx,eax
|
||||
ror ecx,11
|
||||
mov esi,DWORD PTR 4[esp]
|
||||
xor ecx,eax
|
||||
ror ecx,2
|
||||
add ebx,DWORD PTR 28[esp]
|
||||
ror edi,13
|
||||
mov esi,DWORD PTR 4[esp]
|
||||
xor ecx,edi
|
||||
ror edi,9
|
||||
add edx,ebx
|
||||
xor ecx,edi
|
||||
mov edi,DWORD PTR 8[esp]
|
||||
add ebx,ecx
|
||||
mov DWORD PTR [esp],eax
|
||||
@@ -149,46 +150,48 @@ ALIGN 16
|
||||
$L00416_63:
|
||||
mov esi,ebx
|
||||
mov ecx,DWORD PTR 100[esp]
|
||||
shr ebx,3
|
||||
ror esi,7
|
||||
xor ebx,esi
|
||||
ror esi,11
|
||||
mov edi,ecx
|
||||
xor esi,ebx
|
||||
ror esi,7
|
||||
shr ebx,3
|
||||
ror edi,2
|
||||
xor ebx,esi
|
||||
xor edi,ecx
|
||||
ror edi,17
|
||||
shr ecx,10
|
||||
add ebx,DWORD PTR 156[esp]
|
||||
mov esi,DWORD PTR 156[esp]
|
||||
ror edi,17
|
||||
xor ecx,edi
|
||||
ror edi,2
|
||||
add ebx,esi
|
||||
xor edi,ecx
|
||||
add ebx,DWORD PTR 120[esp]
|
||||
mov ecx,edx
|
||||
add ebx,edi
|
||||
ror ecx,14
|
||||
mov esi,DWORD PTR 20[esp]
|
||||
xor ecx,edx
|
||||
ror ecx,5
|
||||
mov DWORD PTR 92[esp],ebx
|
||||
xor ecx,edx
|
||||
mov ecx,edx
|
||||
add ebx,DWORD PTR 120[esp]
|
||||
ror ecx,6
|
||||
mov edi,edx
|
||||
ror edi,11
|
||||
mov esi,DWORD PTR 20[esp]
|
||||
xor ecx,edi
|
||||
ror edi,14
|
||||
mov DWORD PTR 92[esp],ebx
|
||||
xor ecx,edi
|
||||
mov edi,DWORD PTR 24[esp]
|
||||
add ebx,ecx
|
||||
xor esi,edi
|
||||
mov DWORD PTR 16[esp],edx
|
||||
xor esi,edi
|
||||
mov ecx,eax
|
||||
and esi,edx
|
||||
mov edx,DWORD PTR 12[esp]
|
||||
xor esi,edi
|
||||
mov edi,eax
|
||||
add ebx,esi
|
||||
ror ecx,9
|
||||
add ebx,DWORD PTR 28[esp]
|
||||
xor ecx,eax
|
||||
ror ecx,11
|
||||
mov esi,DWORD PTR 4[esp]
|
||||
xor ecx,eax
|
||||
ror ecx,2
|
||||
add ebx,DWORD PTR 28[esp]
|
||||
ror edi,13
|
||||
mov esi,DWORD PTR 4[esp]
|
||||
xor ecx,edi
|
||||
ror edi,9
|
||||
add edx,ebx
|
||||
xor ecx,edi
|
||||
mov edi,DWORD PTR 8[esp]
|
||||
add ebx,ecx
|
||||
mov DWORD PTR [esp],eax
|
||||
|
||||
@@ -2,7 +2,7 @@ TITLE sha512-586.asm
|
||||
IF @Version LT 800
|
||||
ECHO MASM version 8.00 or later is strongly recommended.
|
||||
ENDIF
|
||||
.686
|
||||
.586
|
||||
.MODEL FLAT
|
||||
OPTION DOTNAME
|
||||
IF @Version LT 800
|
||||
|
||||
132
deps/openssl/asm/x86-win32-masm/x86cpuid.asm
vendored
132
deps/openssl/asm/x86-win32-masm/x86cpuid.asm
vendored
@@ -2,7 +2,7 @@ TITLE x86cpuid.asm
|
||||
IF @Version LT 800
|
||||
ECHO MASM version 8.00 or later is strongly recommended.
|
||||
ENDIF
|
||||
.686
|
||||
.586
|
||||
.MODEL FLAT
|
||||
OPTION DOTNAME
|
||||
IF @Version LT 800
|
||||
@@ -27,9 +27,9 @@ $L_OPENSSL_ia32_cpuid_begin::
|
||||
pushfd
|
||||
pop eax
|
||||
xor ecx,eax
|
||||
xor eax,eax
|
||||
bt ecx,21
|
||||
jnc $L000nocpuid
|
||||
jnc $L000done
|
||||
xor eax,eax
|
||||
cpuid
|
||||
mov edi,eax
|
||||
xor eax,eax
|
||||
@@ -55,14 +55,7 @@ $L_OPENSSL_ia32_cpuid_begin::
|
||||
jnz $L001intel
|
||||
mov eax,2147483648
|
||||
cpuid
|
||||
cmp eax,2147483649
|
||||
jb $L001intel
|
||||
mov esi,eax
|
||||
mov eax,2147483649
|
||||
cpuid
|
||||
or ebp,ecx
|
||||
and ebp,2049
|
||||
cmp esi,2147483656
|
||||
cmp eax,2147483656
|
||||
jb $L001intel
|
||||
mov eax,2147483656
|
||||
cpuid
|
||||
@@ -71,68 +64,46 @@ $L_OPENSSL_ia32_cpuid_begin::
|
||||
mov eax,1
|
||||
cpuid
|
||||
bt edx,28
|
||||
jnc $L002generic
|
||||
jnc $L000done
|
||||
shr ebx,16
|
||||
and ebx,255
|
||||
cmp ebx,esi
|
||||
ja $L002generic
|
||||
ja $L000done
|
||||
and edx,4026531839
|
||||
jmp $L002generic
|
||||
jmp $L000done
|
||||
$L001intel:
|
||||
cmp edi,4
|
||||
mov edi,-1
|
||||
jb $L003nocacheinfo
|
||||
jb $L002nocacheinfo
|
||||
mov eax,4
|
||||
mov ecx,0
|
||||
cpuid
|
||||
mov edi,eax
|
||||
shr edi,14
|
||||
and edi,4095
|
||||
$L003nocacheinfo:
|
||||
$L002nocacheinfo:
|
||||
mov eax,1
|
||||
cpuid
|
||||
and edx,3220176895
|
||||
cmp ebp,0
|
||||
jne $L004notintel
|
||||
or edx,1073741824
|
||||
jne $L003notP4
|
||||
and ah,15
|
||||
cmp ah,15
|
||||
jne $L004notintel
|
||||
jne $L003notP4
|
||||
or edx,1048576
|
||||
$L004notintel:
|
||||
$L003notP4:
|
||||
bt edx,28
|
||||
jnc $L002generic
|
||||
jnc $L000done
|
||||
and edx,4026531839
|
||||
cmp edi,0
|
||||
je $L002generic
|
||||
je $L000done
|
||||
or edx,268435456
|
||||
shr ebx,16
|
||||
cmp bl,1
|
||||
ja $L002generic
|
||||
ja $L000done
|
||||
and edx,4026531839
|
||||
$L002generic:
|
||||
and ebp,2048
|
||||
and ecx,4294965247
|
||||
mov esi,edx
|
||||
or ebp,ecx
|
||||
bt ecx,27
|
||||
jnc $L005clear_avx
|
||||
xor ecx,ecx
|
||||
DB 15,1,208
|
||||
and eax,6
|
||||
cmp eax,6
|
||||
je $L006done
|
||||
cmp eax,2
|
||||
je $L005clear_avx
|
||||
$L007clear_xmm:
|
||||
and ebp,4261412861
|
||||
and esi,4278190079
|
||||
$L005clear_avx:
|
||||
and ebp,4026525695
|
||||
$L006done:
|
||||
mov eax,esi
|
||||
mov edx,ebp
|
||||
$L000nocpuid:
|
||||
$L000done:
|
||||
mov eax,edx
|
||||
mov edx,ecx
|
||||
pop edi
|
||||
pop esi
|
||||
pop ebx
|
||||
@@ -147,9 +118,9 @@ $L_OPENSSL_rdtsc_begin::
|
||||
xor edx,edx
|
||||
lea ecx,DWORD PTR _OPENSSL_ia32cap_P
|
||||
bt DWORD PTR [ecx],4
|
||||
jnc $L008notsc
|
||||
jnc $L004notsc
|
||||
rdtsc
|
||||
$L008notsc:
|
||||
$L004notsc:
|
||||
ret
|
||||
_OPENSSL_rdtsc ENDP
|
||||
ALIGN 16
|
||||
@@ -157,14 +128,14 @@ _OPENSSL_instrument_halt PROC PUBLIC
|
||||
$L_OPENSSL_instrument_halt_begin::
|
||||
lea ecx,DWORD PTR _OPENSSL_ia32cap_P
|
||||
bt DWORD PTR [ecx],4
|
||||
jnc $L009nohalt
|
||||
jnc $L005nohalt
|
||||
DD 2421723150
|
||||
and eax,3
|
||||
jnz $L009nohalt
|
||||
jnz $L005nohalt
|
||||
pushfd
|
||||
pop eax
|
||||
bt eax,9
|
||||
jnc $L009nohalt
|
||||
jnc $L005nohalt
|
||||
rdtsc
|
||||
push edx
|
||||
push eax
|
||||
@@ -174,7 +145,7 @@ DD 2421723150
|
||||
sbb edx,DWORD PTR 4[esp]
|
||||
add esp,8
|
||||
ret
|
||||
$L009nohalt:
|
||||
$L005nohalt:
|
||||
xor eax,eax
|
||||
xor edx,edx
|
||||
ret
|
||||
@@ -185,21 +156,21 @@ $L_OPENSSL_far_spin_begin::
|
||||
pushfd
|
||||
pop eax
|
||||
bt eax,9
|
||||
jnc $L010nospin
|
||||
jnc $L006nospin
|
||||
mov eax,DWORD PTR 4[esp]
|
||||
mov ecx,DWORD PTR 8[esp]
|
||||
DD 2430111262
|
||||
xor eax,eax
|
||||
mov edx,DWORD PTR [ecx]
|
||||
jmp $L011spin
|
||||
jmp $L007spin
|
||||
ALIGN 16
|
||||
$L011spin:
|
||||
$L007spin:
|
||||
inc eax
|
||||
cmp edx,DWORD PTR [ecx]
|
||||
je $L011spin
|
||||
je $L007spin
|
||||
DD 529567888
|
||||
ret
|
||||
$L010nospin:
|
||||
$L006nospin:
|
||||
xor eax,eax
|
||||
xor edx,edx
|
||||
ret
|
||||
@@ -212,9 +183,9 @@ $L_OPENSSL_wipe_cpu_begin::
|
||||
lea ecx,DWORD PTR _OPENSSL_ia32cap_P
|
||||
mov ecx,DWORD PTR [ecx]
|
||||
bt DWORD PTR [ecx],1
|
||||
jnc $L012no_x87
|
||||
jnc $L008no_x87
|
||||
DD 4007259865,4007259865,4007259865,4007259865,2430851995
|
||||
$L012no_x87:
|
||||
$L008no_x87:
|
||||
lea eax,DWORD PTR 4[esp]
|
||||
ret
|
||||
_OPENSSL_wipe_cpu ENDP
|
||||
@@ -226,11 +197,11 @@ $L_OPENSSL_atomic_add_begin::
|
||||
push ebx
|
||||
nop
|
||||
mov eax,DWORD PTR [edx]
|
||||
$L013spin:
|
||||
$L009spin:
|
||||
lea ebx,DWORD PTR [ecx*1+eax]
|
||||
nop
|
||||
DD 447811568
|
||||
jne $L013spin
|
||||
jne $L009spin
|
||||
mov eax,ebx
|
||||
pop ebx
|
||||
ret
|
||||
@@ -267,50 +238,37 @@ $L_OPENSSL_cleanse_begin::
|
||||
mov ecx,DWORD PTR 8[esp]
|
||||
xor eax,eax
|
||||
cmp ecx,7
|
||||
jae $L014lot
|
||||
jae $L010lot
|
||||
cmp ecx,0
|
||||
je $L015ret
|
||||
$L016little:
|
||||
je $L011ret
|
||||
$L012little:
|
||||
mov BYTE PTR [edx],al
|
||||
sub ecx,1
|
||||
lea edx,DWORD PTR 1[edx]
|
||||
jnz $L016little
|
||||
$L015ret:
|
||||
jnz $L012little
|
||||
$L011ret:
|
||||
ret
|
||||
ALIGN 16
|
||||
$L014lot:
|
||||
$L010lot:
|
||||
test edx,3
|
||||
jz $L017aligned
|
||||
jz $L013aligned
|
||||
mov BYTE PTR [edx],al
|
||||
lea ecx,DWORD PTR [ecx-1]
|
||||
lea edx,DWORD PTR 1[edx]
|
||||
jmp $L014lot
|
||||
$L017aligned:
|
||||
jmp $L010lot
|
||||
$L013aligned:
|
||||
mov DWORD PTR [edx],eax
|
||||
lea ecx,DWORD PTR [ecx-4]
|
||||
test ecx,-4
|
||||
lea edx,DWORD PTR 4[edx]
|
||||
jnz $L017aligned
|
||||
jnz $L013aligned
|
||||
cmp ecx,0
|
||||
jne $L016little
|
||||
jne $L012little
|
||||
ret
|
||||
_OPENSSL_cleanse ENDP
|
||||
ALIGN 16
|
||||
_OPENSSL_ia32_rdrand PROC PUBLIC
|
||||
$L_OPENSSL_ia32_rdrand_begin::
|
||||
mov ecx,8
|
||||
$L018loop:
|
||||
DB 15,199,240
|
||||
jc $L019break
|
||||
loop $L018loop
|
||||
$L019break:
|
||||
cmp eax,0
|
||||
cmove eax,ecx
|
||||
ret
|
||||
_OPENSSL_ia32_rdrand ENDP
|
||||
.text$ ENDS
|
||||
.bss SEGMENT 'BSS'
|
||||
COMM _OPENSSL_ia32cap_P:QWORD
|
||||
COMM _OPENSSL_ia32cap_P:DWORD
|
||||
.bss ENDS
|
||||
.CRT$XCU SEGMENT DWORD PUBLIC 'DATA'
|
||||
EXTERN _OPENSSL_cpuid_setup:NEAR
|
||||
|
||||
253
deps/openssl/config/android/openssl/opensslconf.h
vendored
Normal file
253
deps/openssl/config/android/openssl/opensslconf.h
vendored
Normal file
@@ -0,0 +1,253 @@
|
||||
/* opensslconf.h */
|
||||
/* WARNING: Generated automatically from opensslconf.h.in by Configure. */
|
||||
|
||||
/* OpenSSL was configured with the following options: */
|
||||
#ifndef OPENSSL_DOING_MAKEDEPEND
|
||||
|
||||
|
||||
#ifndef OPENSSL_NO_CAMELLIA
|
||||
# define OPENSSL_NO_CAMELLIA
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_GMP
|
||||
# define OPENSSL_NO_GMP
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_IDEA
|
||||
# define OPENSSL_NO_IDEA
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_JPAKE
|
||||
# define OPENSSL_NO_JPAKE
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_KRB5
|
||||
# define OPENSSL_NO_KRB5
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_MDC2
|
||||
# define OPENSSL_NO_MDC2
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_CMS
|
||||
# define OPENSSL_NO_CMS
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_RC5
|
||||
# define OPENSSL_NO_RC5
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_RFC3779
|
||||
# define OPENSSL_NO_RFC3779
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_SEED
|
||||
# define OPENSSL_NO_SEED
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_SHA0
|
||||
# define OPENSSL_NO_SHA0
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_WHRLPOOL
|
||||
# define OPENSSL_NO_WHRLPOOL
|
||||
#endif
|
||||
|
||||
#endif /* OPENSSL_DOING_MAKEDEPEND */
|
||||
|
||||
#ifndef OPENSSL_THREADS
|
||||
# define OPENSSL_THREADS
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_DYNAMIC_ENGINE
|
||||
# define OPENSSL_NO_DYNAMIC_ENGINE
|
||||
#endif
|
||||
|
||||
/* The OPENSSL_NO_* macros are also defined as NO_* if the application
|
||||
asks for it. This is a transient feature that is provided for those
|
||||
who haven't had the time to do the appropriate changes in their
|
||||
applications. */
|
||||
#ifdef OPENSSL_ALGORITHM_DEFINES
|
||||
# if defined(OPENSSL_NO_CAST) && !defined(NO_CAST)
|
||||
# define NO_CAST
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)
|
||||
# define NO_GMP
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA)
|
||||
# define NO_IDEA
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE)
|
||||
# define NO_JPAKE
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
|
||||
# define NO_KRB5
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2)
|
||||
# define NO_MD2
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5)
|
||||
# define NO_RC5
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779)
|
||||
# define NO_RFC3779
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_SEED) && !defined(NO_SEED)
|
||||
# define NO_SEED
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_SHA0) && !defined(NO_SHA0)
|
||||
# define NO_SHA0
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE)
|
||||
# define NO_STORE
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_WHRLPOOL) && !defined(NO_WHRLPOOL)
|
||||
# define NO_WHRLPOOL
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2)
|
||||
# define NO_MDC2
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* crypto/opensslconf.h.in */
|
||||
|
||||
/* Generate 80386 code? */
|
||||
#undef I386_ONLY
|
||||
|
||||
#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
|
||||
#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
|
||||
#define ENGINESDIR "/usr/local/ssl/lib/engines"
|
||||
#define OPENSSLDIR "/usr/local/ssl"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#undef OPENSSL_UNISTD
|
||||
#define OPENSSL_UNISTD <unistd.h>
|
||||
|
||||
#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
|
||||
|
||||
#if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
|
||||
#define IDEA_INT unsigned int
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_MD2_H) && !defined(MD2_INT)
|
||||
#define MD2_INT unsigned int
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_RC2_H) && !defined(RC2_INT)
|
||||
/* I need to put in a mod for the alpha - eay */
|
||||
#define RC2_INT unsigned int
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_RC4_H)
|
||||
#if !defined(RC4_INT)
|
||||
/* using int types make the structure larger but make the code faster
|
||||
* on most boxes I have tested - up to %20 faster. */
|
||||
/*
|
||||
* I don't know what does "most" mean, but declaring "int" is a must on:
|
||||
* - Intel P6 because partial register stalls are very expensive;
|
||||
* - elder Alpha because it lacks byte load/store instructions;
|
||||
*/
|
||||
#define RC4_INT unsigned char
|
||||
#endif
|
||||
#if !defined(RC4_CHUNK)
|
||||
/*
|
||||
* This enables code handling data aligned at natural CPU word
|
||||
* boundary. See crypto/rc4/rc4_enc.c for further details.
|
||||
*/
|
||||
#define RC4_CHUNK unsigned long
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG)
|
||||
/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
|
||||
* %20 speed up (longs are 8 bytes, int's are 4). */
|
||||
#ifndef DES_LONG
|
||||
#define DES_LONG unsigned int
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
|
||||
#define CONFIG_HEADER_BN_H
|
||||
#define BN_LLONG
|
||||
|
||||
/* Should we define BN_DIV2W here? */
|
||||
|
||||
/* Only one for the following should be defined */
|
||||
#undef SIXTY_FOUR_BIT_LONG
|
||||
#undef SIXTY_FOUR_BIT
|
||||
#define THIRTY_TWO_BIT
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
|
||||
#define CONFIG_HEADER_RC4_LOCL_H
|
||||
/* if this is defined data[i] is used instead of *data, this is a %20
|
||||
* speedup on x86 */
|
||||
#undef RC4_INDEX
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
|
||||
#define CONFIG_HEADER_BF_LOCL_H
|
||||
#define BF_PTR
|
||||
#endif /* HEADER_BF_LOCL_H */
|
||||
|
||||
#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
|
||||
#define CONFIG_HEADER_DES_LOCL_H
|
||||
#ifndef DES_DEFAULT_OPTIONS
|
||||
/* the following is tweaked from a config script, that is why it is a
|
||||
* protected undef/define */
|
||||
#ifndef DES_PTR
|
||||
#undef DES_PTR
|
||||
#endif
|
||||
|
||||
/* This helps C compiler generate the correct code for multiple functional
|
||||
* units. It reduces register dependancies at the expense of 2 more
|
||||
* registers */
|
||||
#ifndef DES_RISC1
|
||||
#undef DES_RISC1
|
||||
#endif
|
||||
|
||||
#ifndef DES_RISC2
|
||||
#undef DES_RISC2
|
||||
#endif
|
||||
|
||||
#if defined(DES_RISC1) && defined(DES_RISC2)
|
||||
YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
|
||||
#endif
|
||||
|
||||
/* Unroll the inner loop, this sometimes helps, sometimes hinders.
|
||||
* Very mucy CPU dependant */
|
||||
#ifndef DES_UNROLL
|
||||
#define DES_UNROLL
|
||||
#endif
|
||||
|
||||
/* These default values were supplied by
|
||||
* Peter Gutman <pgut001@cs.auckland.ac.nz>
|
||||
* They are only used if nothing else has been defined */
|
||||
#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
|
||||
/* Special defines which change the way the code is built depending on the
|
||||
CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
|
||||
even newer MIPS CPU's, but at the moment one size fits all for
|
||||
optimization options. Older Sparc's work better with only UNROLL, but
|
||||
there's no way to tell at compile time what it is you're running on */
|
||||
|
||||
#if defined( sun ) /* Newer Sparc's */
|
||||
# define DES_PTR
|
||||
# define DES_RISC1
|
||||
# define DES_UNROLL
|
||||
#elif defined( __ultrix ) /* Older MIPS */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
# define DES_UNROLL
|
||||
#elif defined( __osf1__ ) /* Alpha */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
#elif defined ( _AIX ) /* RS6000 */
|
||||
/* Unknown */
|
||||
#elif defined( __hpux ) /* HP-PA */
|
||||
/* Unknown */
|
||||
#elif defined( __aux ) /* 68K */
|
||||
/* Unknown */
|
||||
#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */
|
||||
# define DES_UNROLL
|
||||
#elif defined( __sgi ) /* Newer MIPS */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
# define DES_UNROLL
|
||||
#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */
|
||||
# define DES_PTR
|
||||
# define DES_RISC1
|
||||
# define DES_UNROLL
|
||||
#endif /* Systems-specific speed defines */
|
||||
#endif
|
||||
|
||||
#endif /* DES_DEFAULT_OPTIONS */
|
||||
#endif /* HEADER_DES_LOCL_H */
|
||||
273
deps/openssl/config/k8/openssl/opensslconf-posix.h
vendored
Normal file
273
deps/openssl/config/k8/openssl/opensslconf-posix.h
vendored
Normal file
@@ -0,0 +1,273 @@
|
||||
/* opensslconf.h */
|
||||
/* WARNING: Generated automatically from opensslconf.h.in by Configure. */
|
||||
|
||||
/* OpenSSL was configured with the following options: */
|
||||
#ifndef OPENSSL_DOING_MAKEDEPEND
|
||||
|
||||
|
||||
#ifndef OPENSSL_NO_CAMELLIA
|
||||
# define OPENSSL_NO_CAMELLIA
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_CAPIENG
|
||||
# define OPENSSL_NO_CAPIENG
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_CMS
|
||||
# define OPENSSL_NO_CMS
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_FIPS
|
||||
# define OPENSSL_NO_FIPS
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_GMP
|
||||
# define OPENSSL_NO_GMP
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_IDEA
|
||||
# define OPENSSL_NO_IDEA
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_JPAKE
|
||||
# define OPENSSL_NO_JPAKE
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_KRB5
|
||||
# define OPENSSL_NO_KRB5
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_MDC2
|
||||
# define OPENSSL_NO_MDC2
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_RC5
|
||||
# define OPENSSL_NO_RC5
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_RFC3779
|
||||
# define OPENSSL_NO_RFC3779
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_SEED
|
||||
# define OPENSSL_NO_SEED
|
||||
#endif
|
||||
|
||||
#endif /* OPENSSL_DOING_MAKEDEPEND */
|
||||
|
||||
#ifndef OPENSSL_THREADS
|
||||
# define OPENSSL_THREADS
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_DYNAMIC_ENGINE
|
||||
# define OPENSSL_NO_DYNAMIC_ENGINE
|
||||
#endif
|
||||
|
||||
/* The OPENSSL_NO_* macros are also defined as NO_* if the application
|
||||
asks for it. This is a transient feature that is provided for those
|
||||
who haven't had the time to do the appropriate changes in their
|
||||
applications. */
|
||||
#ifdef OPENSSL_ALGORITHM_DEFINES
|
||||
# if defined(OPENSSL_NO_CAMELLIA) && !defined(NO_CAMELLIA)
|
||||
# define NO_CAMELLIA
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_CAPIENG) && !defined(NO_CAPIENG)
|
||||
# define NO_CAPIENG
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_CMS) && !defined(NO_CMS)
|
||||
# define NO_CMS
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_FIPS) && !defined(NO_FIPS)
|
||||
# define NO_FIPS
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)
|
||||
# define NO_GMP
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA)
|
||||
# define NO_IDEA
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE)
|
||||
# define NO_JPAKE
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
|
||||
# define NO_KRB5
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2)
|
||||
# define NO_MDC2
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5)
|
||||
# define NO_RC5
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779)
|
||||
# define NO_RFC3779
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_SEED) && !defined(NO_SEED)
|
||||
# define NO_SEED
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* crypto/opensslconf.h.in */
|
||||
|
||||
#ifdef OPENSSL_DOING_MAKEDEPEND
|
||||
|
||||
/* Include any symbols here that have to be explicitly set to enable a feature
|
||||
* that should be visible to makedepend.
|
||||
*
|
||||
* [Our "make depend" doesn't actually look at this, we use actual build settings
|
||||
* instead; we want to make it easy to remove subdirectories with disabled algorithms.]
|
||||
*/
|
||||
|
||||
#ifndef OPENSSL_FIPS
|
||||
#define OPENSSL_FIPS
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/* Generate 80386 code? */
|
||||
#undef I386_ONLY
|
||||
|
||||
#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
|
||||
#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
|
||||
#define ENGINESDIR "/usr/local/ssl/lib/engines"
|
||||
#define OPENSSLDIR "/usr/local/ssl"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#undef OPENSSL_UNISTD
|
||||
#define OPENSSL_UNISTD <unistd.h>
|
||||
#if !defined(SWIG)
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
|
||||
|
||||
#if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
|
||||
#define IDEA_INT unsigned int
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_MD2_H) && !defined(MD2_INT)
|
||||
#define MD2_INT unsigned int
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_RC2_H) && !defined(RC2_INT)
|
||||
/* I need to put in a mod for the alpha - eay */
|
||||
#define RC2_INT unsigned int
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_RC4_H)
|
||||
#if !defined(RC4_INT)
|
||||
/* using int types make the structure larger but make the code faster
|
||||
* on most boxes I have tested - up to %20 faster. */
|
||||
/*
|
||||
* I don't know what does "most" mean, but declaring "int" is a must on:
|
||||
* - Intel P6 because partial register stalls are very expensive;
|
||||
* - elder Alpha because it lacks byte load/store instructions;
|
||||
*/
|
||||
#define RC4_INT unsigned int
|
||||
#endif
|
||||
#if !defined(RC4_CHUNK)
|
||||
/*
|
||||
* This enables code handling data aligned at natural CPU word
|
||||
* boundary. See crypto/rc4/rc4_enc.c for further details.
|
||||
*/
|
||||
#define RC4_CHUNK unsigned long
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG)
|
||||
/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
|
||||
* %20 speed up (longs are 8 bytes, int's are 4). */
|
||||
#ifndef DES_LONG
|
||||
#define DES_LONG unsigned int
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
|
||||
#define CONFIG_HEADER_BN_H
|
||||
#undef BN_LLONG
|
||||
|
||||
/* Should we define BN_DIV2W here? */
|
||||
|
||||
/* Only one for the following should be defined */
|
||||
/* The prime number generation stuff may not work when
|
||||
* EIGHT_BIT but I don't care since I've only used this mode
|
||||
* for debuging the bignum libraries */
|
||||
#define SIXTY_FOUR_BIT_LONG
|
||||
#undef SIXTY_FOUR_BIT
|
||||
#undef THIRTY_TWO_BIT
|
||||
#undef SIXTEEN_BIT
|
||||
#undef EIGHT_BIT
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
|
||||
#define CONFIG_HEADER_RC4_LOCL_H
|
||||
/* if this is defined data[i] is used instead of *data, this is a %20
|
||||
* speedup on x86 */
|
||||
#undef RC4_INDEX
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
|
||||
#define CONFIG_HEADER_BF_LOCL_H
|
||||
#undef BF_PTR
|
||||
#endif /* HEADER_BF_LOCL_H */
|
||||
|
||||
#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
|
||||
#define CONFIG_HEADER_DES_LOCL_H
|
||||
#ifndef DES_DEFAULT_OPTIONS
|
||||
/* the following is tweaked from a config script, that is why it is a
|
||||
* protected undef/define */
|
||||
#ifndef DES_PTR
|
||||
#undef DES_PTR
|
||||
#endif
|
||||
|
||||
/* This helps C compiler generate the correct code for multiple functional
|
||||
* units. It reduces register dependancies at the expense of 2 more
|
||||
* registers */
|
||||
#ifndef DES_RISC1
|
||||
#undef DES_RISC1
|
||||
#endif
|
||||
|
||||
#ifndef DES_RISC2
|
||||
#undef DES_RISC2
|
||||
#endif
|
||||
|
||||
#if defined(DES_RISC1) && defined(DES_RISC2)
|
||||
YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
|
||||
#endif
|
||||
|
||||
/* Unroll the inner loop, this sometimes helps, sometimes hinders.
|
||||
* Very mucy CPU dependant */
|
||||
#ifndef DES_UNROLL
|
||||
#define DES_UNROLL
|
||||
#endif
|
||||
|
||||
/* These default values were supplied by
|
||||
* Peter Gutman <pgut001@cs.auckland.ac.nz>
|
||||
* They are only used if nothing else has been defined */
|
||||
#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
|
||||
/* Special defines which change the way the code is built depending on the
|
||||
CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
|
||||
even newer MIPS CPU's, but at the moment one size fits all for
|
||||
optimization options. Older Sparc's work better with only UNROLL, but
|
||||
there's no way to tell at compile time what it is you're running on */
|
||||
|
||||
#if defined( sun ) /* Newer Sparc's */
|
||||
# define DES_PTR
|
||||
# define DES_RISC1
|
||||
# define DES_UNROLL
|
||||
#elif defined( __ultrix ) /* Older MIPS */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
# define DES_UNROLL
|
||||
#elif defined( __osf1__ ) /* Alpha */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
#elif defined ( _AIX ) /* RS6000 */
|
||||
/* Unknown */
|
||||
#elif defined( __hpux ) /* HP-PA */
|
||||
/* Unknown */
|
||||
#elif defined( __aux ) /* 68K */
|
||||
/* Unknown */
|
||||
#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */
|
||||
# define DES_UNROLL
|
||||
#elif defined( __sgi ) /* Newer MIPS */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
# define DES_UNROLL
|
||||
#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */
|
||||
# define DES_PTR
|
||||
# define DES_RISC1
|
||||
# define DES_UNROLL
|
||||
#endif /* Systems-specific speed defines */
|
||||
#endif
|
||||
|
||||
#endif /* DES_DEFAULT_OPTIONS */
|
||||
#endif /* HEADER_DES_LOCL_H */
|
||||
262
deps/openssl/config/k8/openssl/opensslconf-win32.h
vendored
Normal file
262
deps/openssl/config/k8/openssl/opensslconf-win32.h
vendored
Normal file
@@ -0,0 +1,262 @@
|
||||
/* opensslconf.h */
|
||||
/* WARNING: Generated automatically from opensslconf.h.in by Configure. */
|
||||
|
||||
/* OpenSSL was configured with the following options: */
|
||||
#ifndef OPENSSL_SYSNAME_WIN32
|
||||
# define OPENSSL_SYSNAME_WIN32
|
||||
#endif
|
||||
#ifndef OPENSSL_DOING_MAKEDEPEND
|
||||
|
||||
|
||||
#ifndef OPENSSL_NO_CAMELLIA
|
||||
# define OPENSSL_NO_CAMELLIA
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_CAPIENG
|
||||
# define OPENSSL_NO_CAPIENG
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_CMS
|
||||
# define OPENSSL_NO_CMS
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_GMP
|
||||
# define OPENSSL_NO_GMP
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_IDEA
|
||||
# define OPENSSL_NO_IDEA
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_JPAKE
|
||||
# define OPENSSL_NO_JPAKE
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_KRB5
|
||||
# define OPENSSL_NO_KRB5
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_MDC2
|
||||
# define OPENSSL_NO_MDC2
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_RC5
|
||||
# define OPENSSL_NO_RC5
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_RFC3779
|
||||
# define OPENSSL_NO_RFC3779
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_SEED
|
||||
# define OPENSSL_NO_SEED
|
||||
#endif
|
||||
|
||||
#endif /* OPENSSL_DOING_MAKEDEPEND */
|
||||
|
||||
#ifndef OPENSSL_THREADS
|
||||
# define OPENSSL_THREADS
|
||||
#endif
|
||||
|
||||
/* The OPENSSL_NO_* macros are also defined as NO_* if the application
|
||||
asks for it. This is a transient feature that is provided for those
|
||||
who haven't had the time to do the appropriate changes in their
|
||||
applications. */
|
||||
#ifdef OPENSSL_ALGORITHM_DEFINES
|
||||
# if defined(OPENSSL_NO_CAMELLIA) && !defined(NO_CAMELLIA)
|
||||
# define NO_CAMELLIA
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_CAPIENG) && !defined(NO_CAPIENG)
|
||||
# define NO_CAPIENG
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_CMS) && !defined(NO_CMS)
|
||||
# define NO_CMS
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)
|
||||
# define NO_GMP
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE)
|
||||
# define NO_JPAKE
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
|
||||
# define NO_KRB5
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2)
|
||||
# define NO_MDC2
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5)
|
||||
# define NO_RC5
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779)
|
||||
# define NO_RFC3779
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_SEED) && !defined(NO_SEED)
|
||||
# define NO_SEED
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* crypto/opensslconf.h.in */
|
||||
|
||||
#ifdef OPENSSL_DOING_MAKEDEPEND
|
||||
|
||||
/* Include any symbols here that have to be explicitly set to enable a feature
|
||||
* that should be visible to makedepend.
|
||||
*
|
||||
* [Our "make depend" doesn't actually look at this, we use actual build settings
|
||||
* instead; we want to make it easy to remove subdirectories with disabled algorithms.]
|
||||
*/
|
||||
|
||||
#ifndef OPENSSL_FIPS
|
||||
#define OPENSSL_FIPS
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/* Generate 80386 code? */
|
||||
#undef I386_ONLY
|
||||
|
||||
#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
|
||||
#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
|
||||
#define ENGINESDIR "ssl/lib/engines"
|
||||
#define OPENSSLDIR "ssl"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#undef OPENSSL_UNISTD
|
||||
#define OPENSSL_UNISTD <unistd.h>
|
||||
|
||||
#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
|
||||
#define OPENSSL_EXPORT_VAR_AS_FUNCTION
|
||||
|
||||
#if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
|
||||
#define IDEA_INT unsigned int
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_MD2_H) && !defined(MD2_INT)
|
||||
#define MD2_INT unsigned int
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_RC2_H) && !defined(RC2_INT)
|
||||
/* I need to put in a mod for the alpha - eay */
|
||||
#define RC2_INT unsigned int
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_RC4_H)
|
||||
#if !defined(RC4_INT)
|
||||
/* using int types make the structure larger but make the code faster
|
||||
* on most boxes I have tested - up to %20 faster. */
|
||||
/*
|
||||
* I don't know what does "most" mean, but declaring "int" is a must on:
|
||||
* - Intel P6 because partial register stalls are very expensive;
|
||||
* - elder Alpha because it lacks byte load/store instructions;
|
||||
*/
|
||||
#define RC4_INT unsigned int
|
||||
#endif
|
||||
#if !defined(RC4_CHUNK)
|
||||
/*
|
||||
* This enables code handling data aligned at natural CPU word
|
||||
* boundary. See crypto/rc4/rc4_enc.c for further details.
|
||||
*/
|
||||
#define RC4_CHUNK unsigned long long
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG)
|
||||
/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
|
||||
* %20 speed up (longs are 8 bytes, int's are 4). */
|
||||
#ifndef DES_LONG
|
||||
#define DES_LONG unsigned int
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
|
||||
#define CONFIG_HEADER_BN_H
|
||||
#undef BN_LLONG
|
||||
|
||||
/* Should we define BN_DIV2W here? */
|
||||
|
||||
/* Only one for the following should be defined */
|
||||
/* The prime number generation stuff may not work when
|
||||
* EIGHT_BIT but I don't care since I've only used this mode
|
||||
* for debuging the bignum libraries */
|
||||
#undef SIXTY_FOUR_BIT_LONG
|
||||
#define SIXTY_FOUR_BIT
|
||||
#undef THIRTY_TWO_BIT
|
||||
#undef SIXTEEN_BIT
|
||||
#undef EIGHT_BIT
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
|
||||
#define CONFIG_HEADER_RC4_LOCL_H
|
||||
/* if this is defined data[i] is used instead of *data, this is a %20
|
||||
* speedup on x86 */
|
||||
#undef RC4_INDEX
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
|
||||
#define CONFIG_HEADER_BF_LOCL_H
|
||||
#undef BF_PTR
|
||||
#endif /* HEADER_BF_LOCL_H */
|
||||
|
||||
#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
|
||||
#define CONFIG_HEADER_DES_LOCL_H
|
||||
#ifndef DES_DEFAULT_OPTIONS
|
||||
/* the following is tweaked from a config script, that is why it is a
|
||||
* protected undef/define */
|
||||
#ifndef DES_PTR
|
||||
#undef DES_PTR
|
||||
#endif
|
||||
|
||||
/* This helps C compiler generate the correct code for multiple functional
|
||||
* units. It reduces register dependancies at the expense of 2 more
|
||||
* registers */
|
||||
#ifndef DES_RISC1
|
||||
#undef DES_RISC1
|
||||
#endif
|
||||
|
||||
#ifndef DES_RISC2
|
||||
#undef DES_RISC2
|
||||
#endif
|
||||
|
||||
#if defined(DES_RISC1) && defined(DES_RISC2)
|
||||
YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
|
||||
#endif
|
||||
|
||||
/* Unroll the inner loop, this sometimes helps, sometimes hinders.
|
||||
* Very mucy CPU dependant */
|
||||
#ifndef DES_UNROLL
|
||||
#undef DES_UNROLL
|
||||
#endif
|
||||
|
||||
/* These default values were supplied by
|
||||
* Peter Gutman <pgut001@cs.auckland.ac.nz>
|
||||
* They are only used if nothing else has been defined */
|
||||
#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
|
||||
/* Special defines which change the way the code is built depending on the
|
||||
CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
|
||||
even newer MIPS CPU's, but at the moment one size fits all for
|
||||
optimization options. Older Sparc's work better with only UNROLL, but
|
||||
there's no way to tell at compile time what it is you're running on */
|
||||
|
||||
#if defined( sun ) /* Newer Sparc's */
|
||||
# define DES_PTR
|
||||
# define DES_RISC1
|
||||
# define DES_UNROLL
|
||||
#elif defined( __ultrix ) /* Older MIPS */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
# define DES_UNROLL
|
||||
#elif defined( __osf1__ ) /* Alpha */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
#elif defined ( _AIX ) /* RS6000 */
|
||||
/* Unknown */
|
||||
#elif defined( __hpux ) /* HP-PA */
|
||||
/* Unknown */
|
||||
#elif defined( __aux ) /* 68K */
|
||||
/* Unknown */
|
||||
#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */
|
||||
# define DES_UNROLL
|
||||
#elif defined( __sgi ) /* Newer MIPS */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
# define DES_UNROLL
|
||||
#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */
|
||||
# define DES_PTR
|
||||
# define DES_RISC1
|
||||
# define DES_UNROLL
|
||||
#endif /* Systems-specific speed defines */
|
||||
#endif
|
||||
|
||||
#endif /* DES_DEFAULT_OPTIONS */
|
||||
#endif /* HEADER_DES_LOCL_H */
|
||||
5
deps/openssl/config/k8/openssl/opensslconf.h
vendored
Normal file
5
deps/openssl/config/k8/openssl/opensslconf.h
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
#ifdef WIN32
|
||||
#include "opensslconf-win32.h"
|
||||
#else
|
||||
#include "opensslconf-posix.h"
|
||||
#endif
|
||||
273
deps/openssl/config/piii/openssl/opensslconf-posix.h
vendored
Normal file
273
deps/openssl/config/piii/openssl/opensslconf-posix.h
vendored
Normal file
@@ -0,0 +1,273 @@
|
||||
/* opensslconf.h */
|
||||
/* WARNING: Generated automatically from opensslconf.h.in by Configure. */
|
||||
|
||||
/* OpenSSL was configured with the following options: */
|
||||
#ifndef OPENSSL_DOING_MAKEDEPEND
|
||||
|
||||
|
||||
#ifndef OPENSSL_NO_CAMELLIA
|
||||
# define OPENSSL_NO_CAMELLIA
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_CAPIENG
|
||||
# define OPENSSL_NO_CAPIENG
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_CMS
|
||||
# define OPENSSL_NO_CMS
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_FIPS
|
||||
# define OPENSSL_NO_FIPS
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_GMP
|
||||
# define OPENSSL_NO_GMP
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_IDEA
|
||||
# define OPENSSL_NO_IDEA
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_JPAKE
|
||||
# define OPENSSL_NO_JPAKE
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_KRB5
|
||||
# define OPENSSL_NO_KRB5
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_MDC2
|
||||
# define OPENSSL_NO_MDC2
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_RC5
|
||||
# define OPENSSL_NO_RC5
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_RFC3779
|
||||
# define OPENSSL_NO_RFC3779
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_SEED
|
||||
# define OPENSSL_NO_SEED
|
||||
#endif
|
||||
|
||||
#endif /* OPENSSL_DOING_MAKEDEPEND */
|
||||
|
||||
#ifndef OPENSSL_THREADS
|
||||
# define OPENSSL_THREADS
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_DYNAMIC_ENGINE
|
||||
# define OPENSSL_NO_DYNAMIC_ENGINE
|
||||
#endif
|
||||
|
||||
/* The OPENSSL_NO_* macros are also defined as NO_* if the application
|
||||
asks for it. This is a transient feature that is provided for those
|
||||
who haven't had the time to do the appropriate changes in their
|
||||
applications. */
|
||||
#ifdef OPENSSL_ALGORITHM_DEFINES
|
||||
# if defined(OPENSSL_NO_CAMELLIA) && !defined(NO_CAMELLIA)
|
||||
# define NO_CAMELLIA
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_CAPIENG) && !defined(NO_CAPIENG)
|
||||
# define NO_CAPIENG
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_CMS) && !defined(NO_CMS)
|
||||
# define NO_CMS
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_FIPS) && !defined(NO_FIPS)
|
||||
# define NO_FIPS
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)
|
||||
# define NO_GMP
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA)
|
||||
# define NO_IDEA
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE)
|
||||
# define NO_JPAKE
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
|
||||
# define NO_KRB5
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2)
|
||||
# define NO_MDC2
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5)
|
||||
# define NO_RC5
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779)
|
||||
# define NO_RFC3779
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_SEED) && !defined(NO_SEED)
|
||||
# define NO_SEED
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* crypto/opensslconf.h.in */
|
||||
|
||||
#ifdef OPENSSL_DOING_MAKEDEPEND
|
||||
|
||||
/* Include any symbols here that have to be explicitly set to enable a feature
|
||||
* that should be visible to makedepend.
|
||||
*
|
||||
* [Our "make depend" doesn't actually look at this, we use actual build settings
|
||||
* instead; we want to make it easy to remove subdirectories with disabled algorithms.]
|
||||
*/
|
||||
|
||||
#ifndef OPENSSL_FIPS
|
||||
#define OPENSSL_FIPS
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/* Generate 80386 code? */
|
||||
#undef I386_ONLY
|
||||
|
||||
#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
|
||||
#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
|
||||
#define ENGINESDIR "/usr/local/ssl/lib/engines"
|
||||
#define OPENSSLDIR "/usr/local/ssl"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#undef OPENSSL_UNISTD
|
||||
#define OPENSSL_UNISTD <unistd.h>
|
||||
#if !defined(SWIG)
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
|
||||
|
||||
#if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
|
||||
#define IDEA_INT unsigned int
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_MD2_H) && !defined(MD2_INT)
|
||||
#define MD2_INT unsigned int
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_RC2_H) && !defined(RC2_INT)
|
||||
/* I need to put in a mod for the alpha - eay */
|
||||
#define RC2_INT unsigned int
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_RC4_H)
|
||||
#if !defined(RC4_INT)
|
||||
/* using int types make the structure larger but make the code faster
|
||||
* on most boxes I have tested - up to %20 faster. */
|
||||
/*
|
||||
* I don't know what does "most" mean, but declaring "int" is a must on:
|
||||
* - Intel P6 because partial register stalls are very expensive;
|
||||
* - elder Alpha because it lacks byte load/store instructions;
|
||||
*/
|
||||
#define RC4_INT unsigned int
|
||||
#endif
|
||||
#if !defined(RC4_CHUNK)
|
||||
/*
|
||||
* This enables code handling data aligned at natural CPU word
|
||||
* boundary. See crypto/rc4/rc4_enc.c for further details.
|
||||
*/
|
||||
#undef RC4_CHUNK
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG)
|
||||
/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
|
||||
* %20 speed up (longs are 8 bytes, int's are 4). */
|
||||
#ifndef DES_LONG
|
||||
#define DES_LONG unsigned long
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
|
||||
#define CONFIG_HEADER_BN_H
|
||||
#define BN_LLONG
|
||||
|
||||
/* Should we define BN_DIV2W here? */
|
||||
|
||||
/* Only one for the following should be defined */
|
||||
/* The prime number generation stuff may not work when
|
||||
* EIGHT_BIT but I don't care since I've only used this mode
|
||||
* for debuging the bignum libraries */
|
||||
#undef SIXTY_FOUR_BIT_LONG
|
||||
#undef SIXTY_FOUR_BIT
|
||||
#define THIRTY_TWO_BIT
|
||||
#undef SIXTEEN_BIT
|
||||
#undef EIGHT_BIT
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
|
||||
#define CONFIG_HEADER_RC4_LOCL_H
|
||||
/* if this is defined data[i] is used instead of *data, this is a %20
|
||||
* speedup on x86 */
|
||||
#define RC4_INDEX
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
|
||||
#define CONFIG_HEADER_BF_LOCL_H
|
||||
#undef BF_PTR
|
||||
#endif /* HEADER_BF_LOCL_H */
|
||||
|
||||
#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
|
||||
#define CONFIG_HEADER_DES_LOCL_H
|
||||
#ifndef DES_DEFAULT_OPTIONS
|
||||
/* the following is tweaked from a config script, that is why it is a
|
||||
* protected undef/define */
|
||||
#ifndef DES_PTR
|
||||
#define DES_PTR
|
||||
#endif
|
||||
|
||||
/* This helps C compiler generate the correct code for multiple functional
|
||||
* units. It reduces register dependancies at the expense of 2 more
|
||||
* registers */
|
||||
#ifndef DES_RISC1
|
||||
#define DES_RISC1
|
||||
#endif
|
||||
|
||||
#ifndef DES_RISC2
|
||||
#undef DES_RISC2
|
||||
#endif
|
||||
|
||||
#if defined(DES_RISC1) && defined(DES_RISC2)
|
||||
YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
|
||||
#endif
|
||||
|
||||
/* Unroll the inner loop, this sometimes helps, sometimes hinders.
|
||||
* Very mucy CPU dependant */
|
||||
#ifndef DES_UNROLL
|
||||
#define DES_UNROLL
|
||||
#endif
|
||||
|
||||
/* These default values were supplied by
|
||||
* Peter Gutman <pgut001@cs.auckland.ac.nz>
|
||||
* They are only used if nothing else has been defined */
|
||||
#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
|
||||
/* Special defines which change the way the code is built depending on the
|
||||
CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
|
||||
even newer MIPS CPU's, but at the moment one size fits all for
|
||||
optimization options. Older Sparc's work better with only UNROLL, but
|
||||
there's no way to tell at compile time what it is you're running on */
|
||||
|
||||
#if defined( sun ) /* Newer Sparc's */
|
||||
# define DES_PTR
|
||||
# define DES_RISC1
|
||||
# define DES_UNROLL
|
||||
#elif defined( __ultrix ) /* Older MIPS */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
# define DES_UNROLL
|
||||
#elif defined( __osf1__ ) /* Alpha */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
#elif defined ( _AIX ) /* RS6000 */
|
||||
/* Unknown */
|
||||
#elif defined( __hpux ) /* HP-PA */
|
||||
/* Unknown */
|
||||
#elif defined( __aux ) /* 68K */
|
||||
/* Unknown */
|
||||
#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */
|
||||
# define DES_UNROLL
|
||||
#elif defined( __sgi ) /* Newer MIPS */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
# define DES_UNROLL
|
||||
#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */
|
||||
# define DES_PTR
|
||||
# define DES_RISC1
|
||||
# define DES_UNROLL
|
||||
#endif /* Systems-specific speed defines */
|
||||
#endif
|
||||
|
||||
#endif /* DES_DEFAULT_OPTIONS */
|
||||
#endif /* HEADER_DES_LOCL_H */
|
||||
274
deps/openssl/config/piii/openssl/opensslconf-win32.h
vendored
Normal file
274
deps/openssl/config/piii/openssl/opensslconf-win32.h
vendored
Normal file
@@ -0,0 +1,274 @@
|
||||
/* opensslconf.h */
|
||||
/* WARNING: Generated automatically from opensslconf.h.in by Configure. */
|
||||
|
||||
/* OpenSSL was configured with the following options: */
|
||||
#ifndef OPENSSL_SYSNAME_WIN32
|
||||
# define OPENSSL_SYSNAME_WIN32
|
||||
#endif
|
||||
#ifndef OPENSSL_DOING_MAKEDEPEND
|
||||
|
||||
|
||||
#ifndef OPENSSL_NO_CAMELLIA
|
||||
# define OPENSSL_NO_CAMELLIA
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_CAPIENG
|
||||
# define OPENSSL_NO_CAPIENG
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_CMS
|
||||
# define OPENSSL_NO_CMS
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_FIPS
|
||||
# define OPENSSL_NO_FIPS
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_GMP
|
||||
# define OPENSSL_NO_GMP
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_IDEA
|
||||
# define OPENSSL_NO_IDEA
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_JPAKE
|
||||
# define OPENSSL_NO_JPAKE
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_KRB5
|
||||
# define OPENSSL_NO_KRB5
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_MDC2
|
||||
# define OPENSSL_NO_MDC2
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_RC5
|
||||
# define OPENSSL_NO_RC5
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_RFC3779
|
||||
# define OPENSSL_NO_RFC3779
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_SEED
|
||||
# define OPENSSL_NO_SEED
|
||||
#endif
|
||||
|
||||
#endif /* OPENSSL_DOING_MAKEDEPEND */
|
||||
|
||||
#ifndef OPENSSL_THREADS
|
||||
# define OPENSSL_THREADS
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_DYNAMIC_ENGINE
|
||||
# define OPENSSL_NO_DYNAMIC_ENGINE
|
||||
#endif
|
||||
|
||||
/* The OPENSSL_NO_* macros are also defined as NO_* if the application
|
||||
asks for it. This is a transient feature that is provided for those
|
||||
who haven't had the time to do the appropriate changes in their
|
||||
applications. */
|
||||
#ifdef OPENSSL_ALGORITHM_DEFINES
|
||||
# if defined(OPENSSL_NO_CAMELLIA) && !defined(NO_CAMELLIA)
|
||||
# define NO_CAMELLIA
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_CAPIENG) && !defined(NO_CAPIENG)
|
||||
# define NO_CAPIENG
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_CMS) && !defined(NO_CMS)
|
||||
# define NO_CMS
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_FIPS) && !defined(NO_FIPS)
|
||||
# define NO_FIPS
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)
|
||||
# define NO_GMP
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA)
|
||||
# define NO_IDEA
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE)
|
||||
# define NO_JPAKE
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
|
||||
# define NO_KRB5
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2)
|
||||
# define NO_MDC2
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5)
|
||||
# define NO_RC5
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779)
|
||||
# define NO_RFC3779
|
||||
# endif
|
||||
# if defined(OPENSSL_NO_SEED) && !defined(NO_SEED)
|
||||
# define NO_SEED
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* crypto/opensslconf.h.in */
|
||||
|
||||
#ifdef OPENSSL_DOING_MAKEDEPEND
|
||||
|
||||
/* Include any symbols here that have to be explicitly set to enable a feature
|
||||
* that should be visible to makedepend.
|
||||
*
|
||||
* [Our "make depend" doesn't actually look at this, we use actual build settings
|
||||
* instead; we want to make it easy to remove subdirectories with disabled algorithms.]
|
||||
*/
|
||||
|
||||
#ifndef OPENSSL_FIPS
|
||||
#define OPENSSL_FIPS
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/* Generate 80386 code? */
|
||||
#undef I386_ONLY
|
||||
|
||||
#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
|
||||
#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
|
||||
#define ENGINESDIR "ssl/lib/engines"
|
||||
#define OPENSSLDIR "ssl"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#undef OPENSSL_UNISTD
|
||||
#define OPENSSL_UNISTD <unistd.h>
|
||||
|
||||
#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
|
||||
#define OPENSSL_EXPORT_VAR_AS_FUNCTION
|
||||
|
||||
#if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
|
||||
#define IDEA_INT unsigned int
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_MD2_H) && !defined(MD2_INT)
|
||||
#define MD2_INT unsigned int
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_RC2_H) && !defined(RC2_INT)
|
||||
/* I need to put in a mod for the alpha - eay */
|
||||
#define RC2_INT unsigned int
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_RC4_H)
|
||||
#if !defined(RC4_INT)
|
||||
/* using int types make the structure larger but make the code faster
|
||||
* on most boxes I have tested - up to %20 faster. */
|
||||
/*
|
||||
* I don't know what does "most" mean, but declaring "int" is a must on:
|
||||
* - Intel P6 because partial register stalls are very expensive;
|
||||
* - elder Alpha because it lacks byte load/store instructions;
|
||||
*/
|
||||
#define RC4_INT unsigned int
|
||||
#endif
|
||||
#if !defined(RC4_CHUNK)
|
||||
/*
|
||||
* This enables code handling data aligned at natural CPU word
|
||||
* boundary. See crypto/rc4/rc4_enc.c for further details.
|
||||
*/
|
||||
#undef RC4_CHUNK
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG)
|
||||
/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
|
||||
* %20 speed up (longs are 8 bytes, int's are 4). */
|
||||
#ifndef DES_LONG
|
||||
#define DES_LONG unsigned long
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
|
||||
#define CONFIG_HEADER_BN_H
|
||||
#define BN_LLONG
|
||||
|
||||
/* Should we define BN_DIV2W here? */
|
||||
|
||||
/* Only one for the following should be defined */
|
||||
/* The prime number generation stuff may not work when
|
||||
* EIGHT_BIT but I don't care since I've only used this mode
|
||||
* for debuging the bignum libraries */
|
||||
#undef SIXTY_FOUR_BIT_LONG
|
||||
#undef SIXTY_FOUR_BIT
|
||||
#define THIRTY_TWO_BIT
|
||||
#undef SIXTEEN_BIT
|
||||
#undef EIGHT_BIT
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
|
||||
#define CONFIG_HEADER_RC4_LOCL_H
|
||||
/* if this is defined data[i] is used instead of *data, this is a %20
|
||||
* speedup on x86 */
|
||||
#define RC4_INDEX
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
|
||||
#define CONFIG_HEADER_BF_LOCL_H
|
||||
#undef BF_PTR
|
||||
#endif /* HEADER_BF_LOCL_H */
|
||||
|
||||
#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
|
||||
#define CONFIG_HEADER_DES_LOCL_H
|
||||
#ifndef DES_DEFAULT_OPTIONS
|
||||
/* the following is tweaked from a config script, that is why it is a
|
||||
* protected undef/define */
|
||||
#ifndef DES_PTR
|
||||
#undef DES_PTR
|
||||
#endif
|
||||
|
||||
/* This helps C compiler generate the correct code for multiple functional
|
||||
* units. It reduces register dependancies at the expense of 2 more
|
||||
* registers */
|
||||
#ifndef DES_RISC1
|
||||
#undef DES_RISC1
|
||||
#endif
|
||||
|
||||
#ifndef DES_RISC2
|
||||
#undef DES_RISC2
|
||||
#endif
|
||||
|
||||
#if defined(DES_RISC1) && defined(DES_RISC2)
|
||||
YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
|
||||
#endif
|
||||
|
||||
/* Unroll the inner loop, this sometimes helps, sometimes hinders.
|
||||
* Very mucy CPU dependant */
|
||||
#ifndef DES_UNROLL
|
||||
#undef DES_UNROLL
|
||||
#endif
|
||||
|
||||
/* These default values were supplied by
|
||||
* Peter Gutman <pgut001@cs.auckland.ac.nz>
|
||||
* They are only used if nothing else has been defined */
|
||||
#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
|
||||
/* Special defines which change the way the code is built depending on the
|
||||
CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
|
||||
even newer MIPS CPU's, but at the moment one size fits all for
|
||||
optimization options. Older Sparc's work better with only UNROLL, but
|
||||
there's no way to tell at compile time what it is you're running on */
|
||||
|
||||
#if defined( sun ) /* Newer Sparc's */
|
||||
# define DES_PTR
|
||||
# define DES_RISC1
|
||||
# define DES_UNROLL
|
||||
#elif defined( __ultrix ) /* Older MIPS */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
# define DES_UNROLL
|
||||
#elif defined( __osf1__ ) /* Alpha */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
#elif defined ( _AIX ) /* RS6000 */
|
||||
/* Unknown */
|
||||
#elif defined( __hpux ) /* HP-PA */
|
||||
/* Unknown */
|
||||
#elif defined( __aux ) /* 68K */
|
||||
/* Unknown */
|
||||
#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */
|
||||
# define DES_UNROLL
|
||||
#elif defined( __sgi ) /* Newer MIPS */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
# define DES_UNROLL
|
||||
#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */
|
||||
# define DES_PTR
|
||||
# define DES_RISC1
|
||||
# define DES_UNROLL
|
||||
#endif /* Systems-specific speed defines */
|
||||
#endif
|
||||
|
||||
#endif /* DES_DEFAULT_OPTIONS */
|
||||
#endif /* HEADER_DES_LOCL_H */
|
||||
5
deps/openssl/config/piii/openssl/opensslconf.h
vendored
Normal file
5
deps/openssl/config/piii/openssl/opensslconf.h
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
#ifdef WIN32
|
||||
#include "opensslconf-win32.h"
|
||||
#else
|
||||
#include "opensslconf-posix.h"
|
||||
#endif
|
||||
175
deps/openssl/openssl.gyp
vendored
175
deps/openssl/openssl.gyp
vendored
@@ -3,26 +3,27 @@
|
||||
# found in the LICENSE file.
|
||||
|
||||
{
|
||||
'variables': {
|
||||
'is_clang': 0,
|
||||
'gcc_version': 0,
|
||||
},
|
||||
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'openssl',
|
||||
'type': '<(library)',
|
||||
'defines': [
|
||||
# No clue what these are for.
|
||||
'L_ENDIAN',
|
||||
'OPENSSL_THREADS',
|
||||
'PURIFY',
|
||||
'_REENTRANT',
|
||||
|
||||
# Heartbeat is a TLS extension, that couldn't be turned off or
|
||||
# asked to be not advertised. Unfortunately this is unacceptable for
|
||||
# Microsoft's IIS, which seems to be ignoring whole ClientHello after
|
||||
# seeing this extension.
|
||||
'OPENSSL_NO_HEARTBEATS',
|
||||
# We do not use TLS over UDP on Chromium so far.
|
||||
'OPENSSL_NO_DTLS1',
|
||||
'OPENSSL_NO_SOCK',
|
||||
'OPENSSL_NO_DGRAM',
|
||||
# Work around brain dead SunOS linker.
|
||||
'OPENSSL_NO_GOST',
|
||||
'OPENSSL_NO_HW_PADLOCK',
|
||||
'OPENSSL_NO_CAMELLIA',
|
||||
'OPENSSL_NO_CMS',
|
||||
'OPENSSL_NO_MDC2',
|
||||
'OPENSSL_NO_SEED',
|
||||
'OPENSSL_NO_IDEA',
|
||||
],
|
||||
'sources': [
|
||||
'openssl/ssl/bio_ssl.c',
|
||||
@@ -32,7 +33,6 @@
|
||||
'openssl/ssl/d1_lib.c',
|
||||
'openssl/ssl/d1_meth.c',
|
||||
'openssl/ssl/d1_pkt.c',
|
||||
'openssl/ssl/d1_srtp.c',
|
||||
'openssl/ssl/d1_srvr.c',
|
||||
'openssl/ssl/kssl.c',
|
||||
'openssl/ssl/s23_clnt.c',
|
||||
@@ -53,7 +53,6 @@
|
||||
'openssl/ssl/s3_meth.c',
|
||||
'openssl/ssl/s3_pkt.c',
|
||||
'openssl/ssl/s3_srvr.c',
|
||||
'openssl/ssl/s3_cbc.c',
|
||||
'openssl/ssl/ssl_algs.c',
|
||||
'openssl/ssl/ssl_asn1.c',
|
||||
'openssl/ssl/ssl_cert.c',
|
||||
@@ -71,7 +70,7 @@
|
||||
'openssl/ssl/t1_meth.c',
|
||||
'openssl/ssl/t1_reneg.c',
|
||||
'openssl/ssl/t1_srvr.c',
|
||||
'openssl/ssl/tls_srp.c',
|
||||
|
||||
'openssl/crypto/aes/aes_cfb.c',
|
||||
'openssl/crypto/aes/aes_ctr.c',
|
||||
'openssl/crypto/aes/aes_ecb.c',
|
||||
@@ -205,35 +204,12 @@
|
||||
'openssl/crypto/bn/bn_sqr.c',
|
||||
'openssl/crypto/bn/bn_sqrt.c',
|
||||
'openssl/crypto/bn/bn_word.c',
|
||||
'openssl/crypto/bn/bn_x931p.c',
|
||||
'openssl/crypto/buffer/buf_err.c',
|
||||
'openssl/crypto/buffer/buf_str.c',
|
||||
'openssl/crypto/buffer/buffer.c',
|
||||
'openssl/crypto/camellia/cmll_cfb.c',
|
||||
'openssl/crypto/camellia/cmll_ctr.c',
|
||||
'openssl/crypto/camellia/cmll_ecb.c',
|
||||
'openssl/crypto/camellia/cmll_ofb.c',
|
||||
'openssl/crypto/camellia/cmll_utl.c',
|
||||
'openssl/crypto/cast/c_cfb64.c',
|
||||
'openssl/crypto/cast/c_ecb.c',
|
||||
'openssl/crypto/cast/c_ofb64.c',
|
||||
'openssl/crypto/cast/c_skey.c',
|
||||
'openssl/crypto/cmac/cm_ameth.c',
|
||||
'openssl/crypto/cmac/cm_pmeth.c',
|
||||
'openssl/crypto/cmac/cmac.c',
|
||||
'openssl/crypto/cms/cms_asn1.c',
|
||||
'openssl/crypto/cms/cms_att.c',
|
||||
'openssl/crypto/cms/cms_cd.c',
|
||||
'openssl/crypto/cms/cms_dd.c',
|
||||
'openssl/crypto/cms/cms_enc.c',
|
||||
'openssl/crypto/cms/cms_env.c',
|
||||
'openssl/crypto/cms/cms_err.c',
|
||||
'openssl/crypto/cms/cms_ess.c',
|
||||
'openssl/crypto/cms/cms_io.c',
|
||||
'openssl/crypto/cms/cms_lib.c',
|
||||
'openssl/crypto/cms/cms_pwri.c',
|
||||
'openssl/crypto/cms/cms_sd.c',
|
||||
'openssl/crypto/cms/cms_smime.c',
|
||||
'openssl/crypto/comp/c_rle.c',
|
||||
'openssl/crypto/comp/c_zlib.c',
|
||||
'openssl/crypto/comp/comp_err.c',
|
||||
@@ -295,20 +271,15 @@
|
||||
'openssl/crypto/dsa/dsa_sign.c',
|
||||
'openssl/crypto/dsa/dsa_vrf.c',
|
||||
'openssl/crypto/dso/dso_beos.c',
|
||||
'openssl/crypto/dso/dso_dl.c',
|
||||
'openssl/crypto/dso/dso_dlfcn.c',
|
||||
'openssl/crypto/dso/dso_err.c',
|
||||
'openssl/crypto/dso/dso_lib.c',
|
||||
'openssl/crypto/dso/dso_null.c',
|
||||
'openssl/crypto/dso/dso_openssl.c',
|
||||
'openssl/crypto/dso/dso_vms.c',
|
||||
'openssl/crypto/dso/dso_win32.c',
|
||||
'openssl/crypto/ebcdic.c',
|
||||
'openssl/crypto/ec/ec2_mult.c',
|
||||
'openssl/crypto/ec/ec2_oct.c',
|
||||
'openssl/crypto/ec/ec2_smpl.c',
|
||||
'openssl/crypto/ec/ec_ameth.c',
|
||||
'openssl/crypto/ec/ec_asn1.c',
|
||||
'openssl/crypto/ec/ec_ameth.c',
|
||||
'openssl/crypto/ec/ec_check.c',
|
||||
'openssl/crypto/ec/ec_curve.c',
|
||||
'openssl/crypto/ec/ec_cvt.c',
|
||||
@@ -316,17 +287,11 @@
|
||||
'openssl/crypto/ec/ec_key.c',
|
||||
'openssl/crypto/ec/ec_lib.c',
|
||||
'openssl/crypto/ec/ec_mult.c',
|
||||
'openssl/crypto/ec/ec_oct.c',
|
||||
'openssl/crypto/ec/ec_pmeth.c',
|
||||
'openssl/crypto/ec/ec_print.c',
|
||||
'openssl/crypto/ec/eck_prn.c',
|
||||
'openssl/crypto/ec/ecp_mont.c',
|
||||
'openssl/crypto/ec/ecp_nist.c',
|
||||
'openssl/crypto/ec/ecp_nistp224.c',
|
||||
'openssl/crypto/ec/ecp_nistp256.c',
|
||||
'openssl/crypto/ec/ecp_nistp521.c',
|
||||
'openssl/crypto/ec/ecp_nistputil.c',
|
||||
'openssl/crypto/ec/ecp_oct.c',
|
||||
'openssl/crypto/ec/ecp_smpl.c',
|
||||
'openssl/crypto/ecdh/ech_err.c',
|
||||
'openssl/crypto/ecdh/ech_key.c',
|
||||
@@ -350,8 +315,6 @@
|
||||
'openssl/crypto/engine/eng_list.c',
|
||||
'openssl/crypto/engine/eng_openssl.c',
|
||||
'openssl/crypto/engine/eng_pkey.c',
|
||||
'openssl/crypto/engine/eng_rdrand.c',
|
||||
'openssl/crypto/engine/eng_rsax.c',
|
||||
'openssl/crypto/engine/eng_table.c',
|
||||
'openssl/crypto/engine/tb_asnmth.c',
|
||||
'openssl/crypto/engine/tb_cipher.c',
|
||||
@@ -376,27 +339,20 @@
|
||||
'openssl/crypto/evp/c_alld.c',
|
||||
'openssl/crypto/evp/digest.c',
|
||||
'openssl/crypto/evp/e_aes.c',
|
||||
'openssl/crypto/evp/e_aes_cbc_hmac_sha1.c',
|
||||
'openssl/crypto/evp/e_bf.c',
|
||||
'openssl/crypto/evp/e_camellia.c',
|
||||
'openssl/crypto/evp/e_cast.c',
|
||||
'openssl/crypto/evp/e_des.c',
|
||||
'openssl/crypto/evp/e_des3.c',
|
||||
'openssl/crypto/evp/e_idea.c',
|
||||
'openssl/crypto/evp/e_null.c',
|
||||
'openssl/crypto/evp/e_old.c',
|
||||
'openssl/crypto/evp/e_rc2.c',
|
||||
'openssl/crypto/evp/e_rc4.c',
|
||||
'openssl/crypto/evp/e_rc4_hmac_md5.c',
|
||||
'openssl/crypto/evp/e_rc5.c',
|
||||
'openssl/crypto/evp/e_seed.c',
|
||||
'openssl/crypto/evp/e_xcbc_d.c',
|
||||
'openssl/crypto/evp/encode.c',
|
||||
'openssl/crypto/evp/evp_acnf.c',
|
||||
'openssl/crypto/evp/evp_cnf.c',
|
||||
'openssl/crypto/evp/evp_enc.c',
|
||||
'openssl/crypto/evp/evp_err.c',
|
||||
'openssl/crypto/evp/evp_fips.c',
|
||||
'openssl/crypto/evp/evp_key.c',
|
||||
'openssl/crypto/evp/evp_lib.c',
|
||||
'openssl/crypto/evp/evp_pbe.c',
|
||||
@@ -407,7 +363,6 @@
|
||||
'openssl/crypto/evp/m_md2.c',
|
||||
'openssl/crypto/evp/m_md4.c',
|
||||
'openssl/crypto/evp/m_md5.c',
|
||||
'openssl/crypto/evp/m_mdc2.c',
|
||||
'openssl/crypto/evp/m_null.c',
|
||||
'openssl/crypto/evp/m_ripemd.c',
|
||||
'openssl/crypto/evp/m_sha.c',
|
||||
@@ -428,39 +383,24 @@
|
||||
'openssl/crypto/evp/pmeth_gn.c',
|
||||
'openssl/crypto/evp/pmeth_lib.c',
|
||||
'openssl/crypto/ex_data.c',
|
||||
'openssl/crypto/fips_ers.c',
|
||||
'openssl/crypto/hmac/hm_ameth.c',
|
||||
'openssl/crypto/hmac/hm_pmeth.c',
|
||||
'openssl/crypto/hmac/hmac.c',
|
||||
'openssl/crypto/idea/i_cbc.c',
|
||||
'openssl/crypto/idea/i_cfb64.c',
|
||||
'openssl/crypto/idea/i_ecb.c',
|
||||
'openssl/crypto/idea/i_ofb64.c',
|
||||
'openssl/crypto/idea/i_skey.c',
|
||||
'openssl/crypto/krb5/krb5_asn.c',
|
||||
'openssl/crypto/lhash/lh_stats.c',
|
||||
'openssl/crypto/lhash/lhash.c',
|
||||
'openssl/crypto/md2/md2_dgst.c',
|
||||
'openssl/crypto/md2/md2_one.c',
|
||||
'openssl/crypto/md4/md4_dgst.c',
|
||||
'openssl/crypto/md4/md4_one.c',
|
||||
'openssl/crypto/md5/md5_dgst.c',
|
||||
'openssl/crypto/md5/md5_one.c',
|
||||
'openssl/crypto/mdc2/mdc2_one.c',
|
||||
'openssl/crypto/mdc2/mdc2dgst.c',
|
||||
'openssl/crypto/mem.c',
|
||||
'openssl/crypto/mem_dbg.c',
|
||||
'openssl/crypto/modes/cbc128.c',
|
||||
'openssl/crypto/modes/ccm128.c',
|
||||
'openssl/crypto/modes/cfb128.c',
|
||||
'openssl/crypto/modes/ctr128.c',
|
||||
'openssl/crypto/modes/cts128.c',
|
||||
'openssl/crypto/modes/gcm128.c',
|
||||
'openssl/crypto/modes/ofb128.c',
|
||||
'openssl/crypto/modes/xts128.c',
|
||||
'openssl/crypto/o_dir.c',
|
||||
'openssl/crypto/o_fips.c',
|
||||
'openssl/crypto/o_init.c',
|
||||
'openssl/crypto/o_str.c',
|
||||
'openssl/crypto/o_time.c',
|
||||
'openssl/crypto/objects/o_names.c',
|
||||
@@ -527,13 +467,11 @@
|
||||
'openssl/crypto/rc2/rc2_skey.c',
|
||||
'openssl/crypto/rc2/rc2cfb64.c',
|
||||
'openssl/crypto/rc2/rc2ofb64.c',
|
||||
'openssl/crypto/rc4/rc4_utl.c',
|
||||
'openssl/crypto/ripemd/rmd_dgst.c',
|
||||
'openssl/crypto/ripemd/rmd_one.c',
|
||||
'openssl/crypto/rsa/rsa_ameth.c',
|
||||
'openssl/crypto/rsa/rsa_asn1.c',
|
||||
'openssl/crypto/rsa/rsa_chk.c',
|
||||
'openssl/crypto/rsa/rsa_crpt.c',
|
||||
'openssl/crypto/rsa/rsa_depr.c',
|
||||
'openssl/crypto/rsa/rsa_eay.c',
|
||||
'openssl/crypto/rsa/rsa_err.c',
|
||||
@@ -550,24 +488,13 @@
|
||||
'openssl/crypto/rsa/rsa_sign.c',
|
||||
'openssl/crypto/rsa/rsa_ssl.c',
|
||||
'openssl/crypto/rsa/rsa_x931.c',
|
||||
'openssl/crypto/seed/seed.c',
|
||||
'openssl/crypto/seed/seed_cbc.c',
|
||||
'openssl/crypto/seed/seed_cfb.c',
|
||||
'openssl/crypto/seed/seed_ecb.c',
|
||||
'openssl/crypto/seed/seed_ofb.c',
|
||||
'openssl/crypto/sha/sha1_one.c',
|
||||
'openssl/crypto/sha/sha1dgst.c',
|
||||
'openssl/crypto/sha/sha256.c',
|
||||
'openssl/crypto/sha/sha512.c',
|
||||
'openssl/crypto/sha/sha_dgst.c',
|
||||
'openssl/crypto/sha/sha_one.c',
|
||||
'openssl/crypto/srp/srp_lib.c',
|
||||
'openssl/crypto/srp/srp_vfy.c',
|
||||
'openssl/crypto/stack/stack.c',
|
||||
'openssl/crypto/store/str_err.c',
|
||||
'openssl/crypto/store/str_lib.c',
|
||||
'openssl/crypto/store/str_mem.c',
|
||||
'openssl/crypto/store/str_meth.c',
|
||||
'openssl/crypto/ts/ts_asn1.c',
|
||||
'openssl/crypto/ts/ts_conf.c',
|
||||
'openssl/crypto/ts/ts_err.c',
|
||||
@@ -658,32 +585,25 @@
|
||||
'openssl/engines/e_sureware.c',
|
||||
'openssl/engines/e_ubsec.c'
|
||||
],
|
||||
'sources/': [
|
||||
['exclude', 'md2/.*$'],
|
||||
['exclude', 'store/.*$']
|
||||
],
|
||||
'conditions': [
|
||||
['target_arch!="ia32" and target_arch!="x64"', {
|
||||
# Disable asm
|
||||
'defines': [
|
||||
'OPENSSL_NO_ASM'
|
||||
],
|
||||
],
|
||||
'sources': [
|
||||
'openssl/crypto/aes/aes_cbc.c',
|
||||
'openssl/crypto/aes/aes_core.c',
|
||||
'openssl/crypto/bf/bf_enc.c',
|
||||
'openssl/crypto/bn/bn_asm.c',
|
||||
'openssl/crypto/cast/c_enc.c',
|
||||
'openssl/crypto/camellia/camellia.c',
|
||||
'openssl/crypto/camellia/cmll_cbc.c',
|
||||
'openssl/crypto/camellia/cmll_misc.c',
|
||||
'openssl/crypto/des/des_enc.c',
|
||||
'openssl/crypto/des/fcrypt_b.c',
|
||||
'openssl/crypto/mem_clr.c',
|
||||
'openssl/crypto/rc4/rc4_enc.c',
|
||||
'openssl/crypto/rc4/rc4_skey.c',
|
||||
'openssl/crypto/whrlpool/wp_block.c'
|
||||
]
|
||||
]
|
||||
}, {
|
||||
# Enable asm
|
||||
'defines': [
|
||||
@@ -704,7 +624,6 @@
|
||||
['OS!="win" and OS!="mac" and target_arch=="ia32"', {
|
||||
'sources': [
|
||||
'asm/x86-elf-gas/aes/aes-586.s',
|
||||
'asm/x86-elf-gas/aes/aesni-x86.s',
|
||||
'asm/x86-elf-gas/bf/bf-686.s',
|
||||
'asm/x86-elf-gas/bn/x86-mont.s',
|
||||
'asm/x86-elf-gas/bn/x86.s',
|
||||
@@ -727,14 +646,10 @@
|
||||
['OS!="win" and OS!="mac" and target_arch=="x64"', {
|
||||
'sources': [
|
||||
'asm/x64-elf-gas/aes/aes-x86_64.s',
|
||||
'asm/x64-elf-gas/aes/aesni-x86_64.s',
|
||||
'asm/x64-elf-gas/aes/aesni-sha1-x86_64.s',
|
||||
'asm/x64-elf-gas/bn/modexp512-x86_64.s',
|
||||
'asm/x64-elf-gas/bn/x86_64-mont.s',
|
||||
'asm/x64-elf-gas/camellia/cmll-x86_64.s',
|
||||
'asm/x64-elf-gas/md5/md5-x86_64.s',
|
||||
'asm/x64-elf-gas/rc4/rc4-x86_64.s',
|
||||
'asm/x64-elf-gas/rc4/rc4-md5-x86_64.s',
|
||||
'asm/x64-elf-gas/sha/sha1-x86_64.s',
|
||||
'asm/x64-elf-gas/sha/sha512-x86_64.s',
|
||||
'asm/x64-elf-gas/whrlpool/wp-x86_64.s',
|
||||
@@ -742,17 +657,15 @@
|
||||
# Non-generated asm
|
||||
'openssl/crypto/bn/asm/x86_64-gcc.c',
|
||||
# No asm available
|
||||
'openssl/crypto/bf/bf_enc.c',
|
||||
'openssl/crypto/cast/c_enc.c',
|
||||
'openssl/crypto/camellia/cmll_misc.c',
|
||||
'openssl/crypto/des/des_enc.c',
|
||||
'openssl/crypto/bf/bf_enc.c',
|
||||
'openssl/crypto/des/fcrypt_b.c'
|
||||
]
|
||||
}],
|
||||
['OS=="mac" and target_arch=="ia32"', {
|
||||
'sources': [
|
||||
'asm/x86-macosx-gas/aes/aes-586.s',
|
||||
'asm/x86-macosx-gas/aes/aesni-x86.s',
|
||||
'asm/x86-macosx-gas/bf/bf-686.s',
|
||||
'asm/x86-macosx-gas/bn/x86-mont.s',
|
||||
'asm/x86-macosx-gas/bn/x86.s',
|
||||
@@ -775,14 +688,10 @@
|
||||
['OS=="mac" and target_arch=="x64"', {
|
||||
'sources': [
|
||||
'asm/x64-macosx-gas/aes/aes-x86_64.s',
|
||||
'asm/x64-macosx-gas/aes/aesni-x86_64.s',
|
||||
'asm/x64-macosx-gas/aes/aesni-sha1-x86_64.s',
|
||||
'asm/x64-macosx-gas/bn/modexp512-x86_64.s',
|
||||
'asm/x64-macosx-gas/bn/x86_64-mont.s',
|
||||
'asm/x64-macosx-gas/camellia/cmll-x86_64.s',
|
||||
'asm/x64-macosx-gas/md5/md5-x86_64.s',
|
||||
'asm/x64-macosx-gas/rc4/rc4-x86_64.s',
|
||||
'asm/x64-macosx-gas/rc4/rc4-md5-x86_64.s',
|
||||
'asm/x64-macosx-gas/sha/sha1-x86_64.s',
|
||||
'asm/x64-macosx-gas/sha/sha512-x86_64.s',
|
||||
'asm/x64-macosx-gas/whrlpool/wp-x86_64.s',
|
||||
@@ -790,17 +699,15 @@
|
||||
# Non-generated asm
|
||||
'openssl/crypto/bn/asm/x86_64-gcc.c',
|
||||
# No asm available
|
||||
'openssl/crypto/bf/bf_enc.c',
|
||||
'openssl/crypto/cast/c_enc.c',
|
||||
'openssl/crypto/camellia/cmll_misc.c',
|
||||
'openssl/crypto/des/des_enc.c',
|
||||
'openssl/crypto/bf/bf_enc.c',
|
||||
'openssl/crypto/des/fcrypt_b.c'
|
||||
]
|
||||
}],
|
||||
['OS=="win" and target_arch=="ia32"', {
|
||||
'sources': [
|
||||
'asm/x86-win32-masm/aes/aes-586.asm',
|
||||
'asm/x86-win32-masm/aes/aesni-x86.asm',
|
||||
'asm/x86-win32-masm/bf/bf-686.asm',
|
||||
'asm/x86-win32-masm/bn/x86-mont.asm',
|
||||
'asm/x86-win32-masm/bn/x86.asm',
|
||||
@@ -842,14 +749,10 @@
|
||||
['OS=="win" and target_arch=="x64"', {
|
||||
'sources': [
|
||||
'asm/x64-win32-masm/aes/aes-x86_64.asm',
|
||||
'asm/x64-win32-masm/aes/aesni-x86_64.asm',
|
||||
'asm/x64-win32-masm/aes/aesni-sha1-x86_64.asm',
|
||||
'asm/x64-win32-masm/bn/modexp512-x86_64.asm',
|
||||
'asm/x64-win32-masm/bn/x86_64-mont.asm',
|
||||
'asm/x64-win32-masm/camellia/cmll-x86_64.asm',
|
||||
'asm/x64-win32-masm/md5/md5-x86_64.asm',
|
||||
'asm/x64-win32-masm/rc4/rc4-x86_64.asm',
|
||||
'asm/x64-win32-masm/rc4/rc4-md5-x86_64.asm',
|
||||
'asm/x64-win32-masm/sha/sha1-x86_64.asm',
|
||||
'asm/x64-win32-masm/sha/sha512-x86_64.asm',
|
||||
'asm/x64-win32-masm/whrlpool/wp-x86_64.asm',
|
||||
@@ -857,10 +760,9 @@
|
||||
# Non-generated asm
|
||||
'openssl/crypto/bn/asm/x86_64-win32-masm.asm',
|
||||
# No asm available
|
||||
'openssl/crypto/bf/bf_enc.c',
|
||||
'openssl/crypto/cast/c_enc.c',
|
||||
'openssl/crypto/camellia/cmll_misc.c',
|
||||
'openssl/crypto/des/des_enc.c',
|
||||
'openssl/crypto/bf/bf_enc.c',
|
||||
'openssl/crypto/des/fcrypt_b.c'
|
||||
],
|
||||
'rules': [
|
||||
@@ -887,14 +789,8 @@
|
||||
['OS=="win"', {
|
||||
'defines': [
|
||||
'MK1MF_BUILD',
|
||||
'WIN32_LEAN_AND_MEAN'
|
||||
],
|
||||
'link_settings': {
|
||||
'libraries': [
|
||||
'-lgdi32.lib',
|
||||
'-luser32.lib',
|
||||
]
|
||||
}
|
||||
'WIN32_LEAN_AND_MEAN',
|
||||
]
|
||||
}, {
|
||||
'defines': [
|
||||
# ENGINESDIR must be defined if OPENSSLDIR is.
|
||||
@@ -904,17 +800,24 @@
|
||||
'OPENSSLDIR="/etc/ssl"',
|
||||
'TERMIOS',
|
||||
],
|
||||
'cflags': ['-Wno-missing-field-initializers'],
|
||||
}],
|
||||
['is_clang==1 or gcc_version>=43', {
|
||||
'cflags': ['-Wno-old-style-declaration'],
|
||||
}],
|
||||
['OS=="solaris"', {
|
||||
'defines': ['__EXTENSIONS__'],
|
||||
}],
|
||||
['target_arch=="arm"', {
|
||||
'sources': ['openssl/crypto/armcap.c'],
|
||||
['target_arch=="ia32"', {
|
||||
'variables': {'openssl_config_path': 'config/piii'},
|
||||
}],
|
||||
['target_arch=="x64"', {
|
||||
'variables': {'openssl_config_path': 'config/k8'},
|
||||
}],
|
||||
['target_arch=="arm"', {
|
||||
'variables': {'openssl_config_path': 'config/android'},
|
||||
}],
|
||||
],
|
||||
'sources/': [
|
||||
['exclude', 'camellia/.*$'],
|
||||
['exclude', 'cms/.*$'],
|
||||
['exclude', 'mdc2/.*$'],
|
||||
],
|
||||
'include_dirs': [
|
||||
'.',
|
||||
@@ -922,13 +825,15 @@
|
||||
'openssl/crypto',
|
||||
'openssl/crypto/asn1',
|
||||
'openssl/crypto/evp',
|
||||
'openssl/crypto/md2',
|
||||
'openssl/crypto/modes',
|
||||
'openssl/crypto/store',
|
||||
'openssl/include',
|
||||
'<@(openssl_config_path)',
|
||||
],
|
||||
'direct_dependent_settings': {
|
||||
'include_dirs': ['openssl/include'],
|
||||
'include_dirs': [
|
||||
'openssl/include',
|
||||
'<@(openssl_config_path)',
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
|
||||
473
deps/openssl/openssl/CHANGES
vendored
473
deps/openssl/openssl/CHANGES
vendored
@@ -2,434 +2,6 @@
|
||||
OpenSSL CHANGES
|
||||
_______________
|
||||
|
||||
Changes between 1.0.1d and 1.0.1e [11 Feb 2013]
|
||||
|
||||
*)
|
||||
|
||||
Changes between 1.0.1c and 1.0.1d [5 Feb 2013]
|
||||
|
||||
*) Make the decoding of SSLv3, TLS and DTLS CBC records constant time.
|
||||
|
||||
This addresses the flaw in CBC record processing discovered by
|
||||
Nadhem Alfardan and Kenny Paterson. Details of this attack can be found
|
||||
at: http://www.isg.rhul.ac.uk/tls/
|
||||
|
||||
Thanks go to Nadhem Alfardan and Kenny Paterson of the Information
|
||||
Security Group at Royal Holloway, University of London
|
||||
(www.isg.rhul.ac.uk) for discovering this flaw and Adam Langley and
|
||||
Emilia Käsper for the initial patch.
|
||||
(CVE-2013-0169)
|
||||
[Emilia Käsper, Adam Langley, Ben Laurie, Andy Polyakov, Steve Henson]
|
||||
|
||||
*) Fix flaw in AESNI handling of TLS 1.2 and 1.1 records for CBC mode
|
||||
ciphersuites which can be exploited in a denial of service attack.
|
||||
Thanks go to and to Adam Langley <agl@chromium.org> for discovering
|
||||
and detecting this bug and to Wolfgang Ettlinger
|
||||
<wolfgang.ettlinger@gmail.com> for independently discovering this issue.
|
||||
(CVE-2012-2686)
|
||||
[Adam Langley]
|
||||
|
||||
*) Return an error when checking OCSP signatures when key is NULL.
|
||||
This fixes a DoS attack. (CVE-2013-0166)
|
||||
[Steve Henson]
|
||||
|
||||
*) Make openssl verify return errors.
|
||||
[Chris Palmer <palmer@google.com> and Ben Laurie]
|
||||
|
||||
*) Call OCSP Stapling callback after ciphersuite has been chosen, so
|
||||
the right response is stapled. Also change SSL_get_certificate()
|
||||
so it returns the certificate actually sent.
|
||||
See http://rt.openssl.org/Ticket/Display.html?id=2836.
|
||||
[Rob Stradling <rob.stradling@comodo.com>]
|
||||
|
||||
*) Fix possible deadlock when decoding public keys.
|
||||
[Steve Henson]
|
||||
|
||||
*) Don't use TLS 1.0 record version number in initial client hello
|
||||
if renegotiating.
|
||||
[Steve Henson]
|
||||
|
||||
Changes between 1.0.1b and 1.0.1c [10 May 2012]
|
||||
|
||||
*) Sanity check record length before skipping explicit IV in TLS
|
||||
1.2, 1.1 and DTLS to fix DoS attack.
|
||||
|
||||
Thanks to Codenomicon for discovering this issue using Fuzz-o-Matic
|
||||
fuzzing as a service testing platform.
|
||||
(CVE-2012-2333)
|
||||
[Steve Henson]
|
||||
|
||||
*) Initialise tkeylen properly when encrypting CMS messages.
|
||||
Thanks to Solar Designer of Openwall for reporting this issue.
|
||||
[Steve Henson]
|
||||
|
||||
*) In FIPS mode don't try to use composite ciphers as they are not
|
||||
approved.
|
||||
[Steve Henson]
|
||||
|
||||
Changes between 1.0.1a and 1.0.1b [26 Apr 2012]
|
||||
|
||||
*) OpenSSL 1.0.0 sets SSL_OP_ALL to 0x80000FFFL and OpenSSL 1.0.1 and
|
||||
1.0.1a set SSL_OP_NO_TLSv1_1 to 0x00000400L which would unfortunately
|
||||
mean any application compiled against OpenSSL 1.0.0 headers setting
|
||||
SSL_OP_ALL would also set SSL_OP_NO_TLSv1_1, unintentionally disablng
|
||||
TLS 1.1 also. Fix this by changing the value of SSL_OP_NO_TLSv1_1 to
|
||||
0x10000000L Any application which was previously compiled against
|
||||
OpenSSL 1.0.1 or 1.0.1a headers and which cares about SSL_OP_NO_TLSv1_1
|
||||
will need to be recompiled as a result. Letting be results in
|
||||
inability to disable specifically TLS 1.1 and in client context,
|
||||
in unlike event, limit maximum offered version to TLS 1.0 [see below].
|
||||
[Steve Henson]
|
||||
|
||||
*) In order to ensure interoperabilty SSL_OP_NO_protocolX does not
|
||||
disable just protocol X, but all protocols above X *if* there are
|
||||
protocols *below* X still enabled. In more practical terms it means
|
||||
that if application wants to disable TLS1.0 in favor of TLS1.1 and
|
||||
above, it's not sufficient to pass SSL_OP_NO_TLSv1, one has to pass
|
||||
SSL_OP_NO_TLSv1|SSL_OP_NO_SSLv3|SSL_OP_NO_SSLv2. This applies to
|
||||
client side.
|
||||
[Andy Polyakov]
|
||||
|
||||
Changes between 1.0.1 and 1.0.1a [19 Apr 2012]
|
||||
|
||||
*) Check for potentially exploitable overflows in asn1_d2i_read_bio
|
||||
BUF_mem_grow and BUF_mem_grow_clean. Refuse attempts to shrink buffer
|
||||
in CRYPTO_realloc_clean.
|
||||
|
||||
Thanks to Tavis Ormandy, Google Security Team, for discovering this
|
||||
issue and to Adam Langley <agl@chromium.org> for fixing it.
|
||||
(CVE-2012-2110)
|
||||
[Adam Langley (Google), Tavis Ormandy, Google Security Team]
|
||||
|
||||
*) Don't allow TLS 1.2 SHA-256 ciphersuites in TLS 1.0, 1.1 connections.
|
||||
[Adam Langley]
|
||||
|
||||
*) Workarounds for some broken servers that "hang" if a client hello
|
||||
record length exceeds 255 bytes.
|
||||
|
||||
1. Do not use record version number > TLS 1.0 in initial client
|
||||
hello: some (but not all) hanging servers will now work.
|
||||
2. If we set OPENSSL_MAX_TLS1_2_CIPHER_LENGTH this will truncate
|
||||
the number of ciphers sent in the client hello. This should be
|
||||
set to an even number, such as 50, for example by passing:
|
||||
-DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 to config or Configure.
|
||||
Most broken servers should now work.
|
||||
3. If all else fails setting OPENSSL_NO_TLS1_2_CLIENT will disable
|
||||
TLS 1.2 client support entirely.
|
||||
[Steve Henson]
|
||||
|
||||
*) Fix SEGV in Vector Permutation AES module observed in OpenSSH.
|
||||
[Andy Polyakov]
|
||||
|
||||
Changes between 1.0.0h and 1.0.1 [14 Mar 2012]
|
||||
|
||||
*) Add compatibility with old MDC2 signatures which use an ASN1 OCTET
|
||||
STRING form instead of a DigestInfo.
|
||||
[Steve Henson]
|
||||
|
||||
*) The format used for MDC2 RSA signatures is inconsistent between EVP
|
||||
and the RSA_sign/RSA_verify functions. This was made more apparent when
|
||||
OpenSSL used RSA_sign/RSA_verify for some RSA signatures in particular
|
||||
those which went through EVP_PKEY_METHOD in 1.0.0 and later. Detect
|
||||
the correct format in RSA_verify so both forms transparently work.
|
||||
[Steve Henson]
|
||||
|
||||
*) Some servers which support TLS 1.0 can choke if we initially indicate
|
||||
support for TLS 1.2 and later renegotiate using TLS 1.0 in the RSA
|
||||
encrypted premaster secret. As a workaround use the maximum pemitted
|
||||
client version in client hello, this should keep such servers happy
|
||||
and still work with previous versions of OpenSSL.
|
||||
[Steve Henson]
|
||||
|
||||
*) Add support for TLS/DTLS heartbeats.
|
||||
[Robin Seggelmann <seggelmann@fh-muenster.de>]
|
||||
|
||||
*) Add support for SCTP.
|
||||
[Robin Seggelmann <seggelmann@fh-muenster.de>]
|
||||
|
||||
*) Improved PRNG seeding for VOS.
|
||||
[Paul Green <Paul.Green@stratus.com>]
|
||||
|
||||
*) Extensive assembler packs updates, most notably:
|
||||
|
||||
- x86[_64]: AES-NI, PCLMULQDQ, RDRAND support;
|
||||
- x86[_64]: SSSE3 support (SHA1, vector-permutation AES);
|
||||
- x86_64: bit-sliced AES implementation;
|
||||
- ARM: NEON support, contemporary platforms optimizations;
|
||||
- s390x: z196 support;
|
||||
- *: GHASH and GF(2^m) multiplication implementations;
|
||||
|
||||
[Andy Polyakov]
|
||||
|
||||
*) Make TLS-SRP code conformant with RFC 5054 API cleanup
|
||||
(removal of unnecessary code)
|
||||
[Peter Sylvester <peter.sylvester@edelweb.fr>]
|
||||
|
||||
*) Add TLS key material exporter from RFC 5705.
|
||||
[Eric Rescorla]
|
||||
|
||||
*) Add DTLS-SRTP negotiation from RFC 5764.
|
||||
[Eric Rescorla]
|
||||
|
||||
*) Add Next Protocol Negotiation,
|
||||
http://tools.ietf.org/html/draft-agl-tls-nextprotoneg-00. Can be
|
||||
disabled with a no-npn flag to config or Configure. Code donated
|
||||
by Google.
|
||||
[Adam Langley <agl@google.com> and Ben Laurie]
|
||||
|
||||
*) Add optional 64-bit optimized implementations of elliptic curves NIST-P224,
|
||||
NIST-P256, NIST-P521, with constant-time single point multiplication on
|
||||
typical inputs. Compiler support for the nonstandard type __uint128_t is
|
||||
required to use this (present in gcc 4.4 and later, for 64-bit builds).
|
||||
Code made available under Apache License version 2.0.
|
||||
|
||||
Specify "enable-ec_nistp_64_gcc_128" on the Configure (or config) command
|
||||
line to include this in your build of OpenSSL, and run "make depend" (or
|
||||
"make update"). This enables the following EC_METHODs:
|
||||
|
||||
EC_GFp_nistp224_method()
|
||||
EC_GFp_nistp256_method()
|
||||
EC_GFp_nistp521_method()
|
||||
|
||||
EC_GROUP_new_by_curve_name() will automatically use these (while
|
||||
EC_GROUP_new_curve_GFp() currently prefers the more flexible
|
||||
implementations).
|
||||
[Emilia Käsper, Adam Langley, Bodo Moeller (Google)]
|
||||
|
||||
*) Use type ossl_ssize_t instad of ssize_t which isn't available on
|
||||
all platforms. Move ssize_t definition from e_os.h to the public
|
||||
header file e_os2.h as it now appears in public header file cms.h
|
||||
[Steve Henson]
|
||||
|
||||
*) New -sigopt option to the ca, req and x509 utilities. Additional
|
||||
signature parameters can be passed using this option and in
|
||||
particular PSS.
|
||||
[Steve Henson]
|
||||
|
||||
*) Add RSA PSS signing function. This will generate and set the
|
||||
appropriate AlgorithmIdentifiers for PSS based on those in the
|
||||
corresponding EVP_MD_CTX structure. No application support yet.
|
||||
[Steve Henson]
|
||||
|
||||
*) Support for companion algorithm specific ASN1 signing routines.
|
||||
New function ASN1_item_sign_ctx() signs a pre-initialised
|
||||
EVP_MD_CTX structure and sets AlgorithmIdentifiers based on
|
||||
the appropriate parameters.
|
||||
[Steve Henson]
|
||||
|
||||
*) Add new algorithm specific ASN1 verification initialisation function
|
||||
to EVP_PKEY_ASN1_METHOD: this is not in EVP_PKEY_METHOD since the ASN1
|
||||
handling will be the same no matter what EVP_PKEY_METHOD is used.
|
||||
Add a PSS handler to support verification of PSS signatures: checked
|
||||
against a number of sample certificates.
|
||||
[Steve Henson]
|
||||
|
||||
*) Add signature printing for PSS. Add PSS OIDs.
|
||||
[Steve Henson, Martin Kaiser <lists@kaiser.cx>]
|
||||
|
||||
*) Add algorithm specific signature printing. An individual ASN1 method
|
||||
can now print out signatures instead of the standard hex dump.
|
||||
|
||||
More complex signatures (e.g. PSS) can print out more meaningful
|
||||
information. Include DSA version that prints out the signature
|
||||
parameters r, s.
|
||||
[Steve Henson]
|
||||
|
||||
*) Password based recipient info support for CMS library: implementing
|
||||
RFC3211.
|
||||
[Steve Henson]
|
||||
|
||||
*) Split password based encryption into PBES2 and PBKDF2 functions. This
|
||||
neatly separates the code into cipher and PBE sections and is required
|
||||
for some algorithms that split PBES2 into separate pieces (such as
|
||||
password based CMS).
|
||||
[Steve Henson]
|
||||
|
||||
*) Session-handling fixes:
|
||||
- Fix handling of connections that are resuming with a session ID,
|
||||
but also support Session Tickets.
|
||||
- Fix a bug that suppressed issuing of a new ticket if the client
|
||||
presented a ticket with an expired session.
|
||||
- Try to set the ticket lifetime hint to something reasonable.
|
||||
- Make tickets shorter by excluding irrelevant information.
|
||||
- On the client side, don't ignore renewed tickets.
|
||||
[Adam Langley, Bodo Moeller (Google)]
|
||||
|
||||
*) Fix PSK session representation.
|
||||
[Bodo Moeller]
|
||||
|
||||
*) Add RC4-MD5 and AESNI-SHA1 "stitched" implementations.
|
||||
|
||||
This work was sponsored by Intel.
|
||||
[Andy Polyakov]
|
||||
|
||||
*) Add GCM support to TLS library. Some custom code is needed to split
|
||||
the IV between the fixed (from PRF) and explicit (from TLS record)
|
||||
portions. This adds all GCM ciphersuites supported by RFC5288 and
|
||||
RFC5289. Generalise some AES* cipherstrings to inlclude GCM and
|
||||
add a special AESGCM string for GCM only.
|
||||
[Steve Henson]
|
||||
|
||||
*) Expand range of ctrls for AES GCM. Permit setting invocation
|
||||
field on decrypt and retrieval of invocation field only on encrypt.
|
||||
[Steve Henson]
|
||||
|
||||
*) Add HMAC ECC ciphersuites from RFC5289. Include SHA384 PRF support.
|
||||
As required by RFC5289 these ciphersuites cannot be used if for
|
||||
versions of TLS earlier than 1.2.
|
||||
[Steve Henson]
|
||||
|
||||
*) For FIPS capable OpenSSL interpret a NULL default public key method
|
||||
as unset and return the appopriate default but do *not* set the default.
|
||||
This means we can return the appopriate method in applications that
|
||||
swicth between FIPS and non-FIPS modes.
|
||||
[Steve Henson]
|
||||
|
||||
*) Redirect HMAC and CMAC operations to FIPS module in FIPS mode. If an
|
||||
ENGINE is used then we cannot handle that in the FIPS module so we
|
||||
keep original code iff non-FIPS operations are allowed.
|
||||
[Steve Henson]
|
||||
|
||||
*) Add -attime option to openssl utilities.
|
||||
[Peter Eckersley <pde@eff.org>, Ben Laurie and Steve Henson]
|
||||
|
||||
*) Redirect DSA and DH operations to FIPS module in FIPS mode.
|
||||
[Steve Henson]
|
||||
|
||||
*) Redirect ECDSA and ECDH operations to FIPS module in FIPS mode. Also use
|
||||
FIPS EC methods unconditionally for now.
|
||||
[Steve Henson]
|
||||
|
||||
*) New build option no-ec2m to disable characteristic 2 code.
|
||||
[Steve Henson]
|
||||
|
||||
*) Backport libcrypto audit of return value checking from 1.1.0-dev; not
|
||||
all cases can be covered as some introduce binary incompatibilities.
|
||||
[Steve Henson]
|
||||
|
||||
*) Redirect RSA operations to FIPS module including keygen,
|
||||
encrypt, decrypt, sign and verify. Block use of non FIPS RSA methods.
|
||||
[Steve Henson]
|
||||
|
||||
*) Add similar low level API blocking to ciphers.
|
||||
[Steve Henson]
|
||||
|
||||
*) Low level digest APIs are not approved in FIPS mode: any attempt
|
||||
to use these will cause a fatal error. Applications that *really* want
|
||||
to use them can use the private_* version instead.
|
||||
[Steve Henson]
|
||||
|
||||
*) Redirect cipher operations to FIPS module for FIPS builds.
|
||||
[Steve Henson]
|
||||
|
||||
*) Redirect digest operations to FIPS module for FIPS builds.
|
||||
[Steve Henson]
|
||||
|
||||
*) Update build system to add "fips" flag which will link in fipscanister.o
|
||||
for static and shared library builds embedding a signature if needed.
|
||||
[Steve Henson]
|
||||
|
||||
*) Output TLS supported curves in preference order instead of numerical
|
||||
order. This is currently hardcoded for the highest order curves first.
|
||||
This should be configurable so applications can judge speed vs strength.
|
||||
[Steve Henson]
|
||||
|
||||
*) Add TLS v1.2 server support for client authentication.
|
||||
[Steve Henson]
|
||||
|
||||
*) Add support for FIPS mode in ssl library: disable SSLv3, non-FIPS ciphers
|
||||
and enable MD5.
|
||||
[Steve Henson]
|
||||
|
||||
*) Functions FIPS_mode_set() and FIPS_mode() which call the underlying
|
||||
FIPS modules versions.
|
||||
[Steve Henson]
|
||||
|
||||
*) Add TLS v1.2 client side support for client authentication. Keep cache
|
||||
of handshake records longer as we don't know the hash algorithm to use
|
||||
until after the certificate request message is received.
|
||||
[Steve Henson]
|
||||
|
||||
*) Initial TLS v1.2 client support. Add a default signature algorithms
|
||||
extension including all the algorithms we support. Parse new signature
|
||||
format in client key exchange. Relax some ECC signing restrictions for
|
||||
TLS v1.2 as indicated in RFC5246.
|
||||
[Steve Henson]
|
||||
|
||||
*) Add server support for TLS v1.2 signature algorithms extension. Switch
|
||||
to new signature format when needed using client digest preference.
|
||||
All server ciphersuites should now work correctly in TLS v1.2. No client
|
||||
support yet and no support for client certificates.
|
||||
[Steve Henson]
|
||||
|
||||
*) Initial TLS v1.2 support. Add new SHA256 digest to ssl code, switch
|
||||
to SHA256 for PRF when using TLS v1.2 and later. Add new SHA256 based
|
||||
ciphersuites. At present only RSA key exchange ciphersuites work with
|
||||
TLS v1.2. Add new option for TLS v1.2 replacing the old and obsolete
|
||||
SSL_OP_PKCS1_CHECK flags with SSL_OP_NO_TLSv1_2. New TLSv1.2 methods
|
||||
and version checking.
|
||||
[Steve Henson]
|
||||
|
||||
*) New option OPENSSL_NO_SSL_INTERN. If an application can be compiled
|
||||
with this defined it will not be affected by any changes to ssl internal
|
||||
structures. Add several utility functions to allow openssl application
|
||||
to work with OPENSSL_NO_SSL_INTERN defined.
|
||||
[Steve Henson]
|
||||
|
||||
*) Add SRP support.
|
||||
[Tom Wu <tjw@cs.stanford.edu> and Ben Laurie]
|
||||
|
||||
*) Add functions to copy EVP_PKEY_METHOD and retrieve flags and id.
|
||||
[Steve Henson]
|
||||
|
||||
*) Permit abbreviated handshakes when renegotiating using the function
|
||||
SSL_renegotiate_abbreviated().
|
||||
[Robin Seggelmann <seggelmann@fh-muenster.de>]
|
||||
|
||||
*) Add call to ENGINE_register_all_complete() to
|
||||
ENGINE_load_builtin_engines(), so some implementations get used
|
||||
automatically instead of needing explicit application support.
|
||||
[Steve Henson]
|
||||
|
||||
*) Add support for TLS key exporter as described in RFC5705.
|
||||
[Robin Seggelmann <seggelmann@fh-muenster.de>, Steve Henson]
|
||||
|
||||
*) Initial TLSv1.1 support. Since TLSv1.1 is very similar to TLS v1.0 only
|
||||
a few changes are required:
|
||||
|
||||
Add SSL_OP_NO_TLSv1_1 flag.
|
||||
Add TLSv1_1 methods.
|
||||
Update version checking logic to handle version 1.1.
|
||||
Add explicit IV handling (ported from DTLS code).
|
||||
Add command line options to s_client/s_server.
|
||||
[Steve Henson]
|
||||
|
||||
Changes between 1.0.0g and 1.0.0h [12 Mar 2012]
|
||||
|
||||
*) Fix MMA (Bleichenbacher's attack on PKCS #1 v1.5 RSA padding) weakness
|
||||
in CMS and PKCS7 code. When RSA decryption fails use a random key for
|
||||
content decryption and always return the same error. Note: this attack
|
||||
needs on average 2^20 messages so it only affects automated senders. The
|
||||
old behaviour can be reenabled in the CMS code by setting the
|
||||
CMS_DEBUG_DECRYPT flag: this is useful for debugging and testing where
|
||||
an MMA defence is not necessary.
|
||||
Thanks to Ivan Nestlerode <inestlerode@us.ibm.com> for discovering
|
||||
this issue. (CVE-2012-0884)
|
||||
[Steve Henson]
|
||||
|
||||
*) Fix CVE-2011-4619: make sure we really are receiving a
|
||||
client hello before rejecting multiple SGC restarts. Thanks to
|
||||
Ivan Nestlerode <inestlerode@us.ibm.com> for discovering this bug.
|
||||
[Steve Henson]
|
||||
|
||||
Changes between 1.0.0f and 1.0.0g [18 Jan 2012]
|
||||
|
||||
*) Fix for DTLS DoS issue introduced by fix for CVE-2011-4109.
|
||||
Thanks to Antonio Martin, Enterprise Secure Access Research and
|
||||
Development, Cisco Systems, Inc. for discovering this bug and
|
||||
preparing a fix. (CVE-2012-0050)
|
||||
[Antonio Martin]
|
||||
|
||||
Changes between 1.0.0e and 1.0.0f [4 Jan 2012]
|
||||
|
||||
*) Nadhem Alfardan and Kenny Paterson have discovered an extension
|
||||
@@ -450,9 +22,7 @@
|
||||
(CVE-2011-4576)
|
||||
[Adam Langley (Google)]
|
||||
|
||||
*) Only allow one SGC handshake restart for SSL/TLS. Thanks to George
|
||||
Kadianakis <desnacked@gmail.com> for discovering this issue and
|
||||
Adam Langley for preparing the fix. (CVE-2011-4619)
|
||||
*) Only allow one SGC handshake restart for SSL/TLS. (CVE-2011-4619)
|
||||
[Adam Langley (Google)]
|
||||
|
||||
*) Check parameters are not NULL in GOST ENGINE. (CVE-2012-0027)
|
||||
@@ -1393,47 +963,8 @@
|
||||
|
||||
*) Change 'Configure' script to enable Camellia by default.
|
||||
[NTT]
|
||||
|
||||
Changes between 0.9.8s and 0.9.8t [18 Jan 2012]
|
||||
|
||||
*) Fix for DTLS DoS issue introduced by fix for CVE-2011-4109.
|
||||
Thanks to Antonio Martin, Enterprise Secure Access Research and
|
||||
Development, Cisco Systems, Inc. for discovering this bug and
|
||||
preparing a fix. (CVE-2012-0050)
|
||||
[Antonio Martin]
|
||||
|
||||
Changes between 0.9.8r and 0.9.8s [4 Jan 2012]
|
||||
|
||||
*) Nadhem Alfardan and Kenny Paterson have discovered an extension
|
||||
of the Vaudenay padding oracle attack on CBC mode encryption
|
||||
which enables an efficient plaintext recovery attack against
|
||||
the OpenSSL implementation of DTLS. Their attack exploits timing
|
||||
differences arising during decryption processing. A research
|
||||
paper describing this attack can be found at:
|
||||
http://www.isg.rhul.ac.uk/~kp/dtls.pdf
|
||||
Thanks go to Nadhem Alfardan and Kenny Paterson of the Information
|
||||
Security Group at Royal Holloway, University of London
|
||||
(www.isg.rhul.ac.uk) for discovering this flaw and to Robin Seggelmann
|
||||
<seggelmann@fh-muenster.de> and Michael Tuexen <tuexen@fh-muenster.de>
|
||||
for preparing the fix. (CVE-2011-4108)
|
||||
[Robin Seggelmann, Michael Tuexen]
|
||||
|
||||
*) Stop policy check failure freeing same buffer twice. (CVE-2011-4109)
|
||||
[Ben Laurie, Kasper <ekasper@google.com>]
|
||||
|
||||
*) Clear bytes used for block padding of SSL 3.0 records.
|
||||
(CVE-2011-4576)
|
||||
[Adam Langley (Google)]
|
||||
|
||||
*) Only allow one SGC handshake restart for SSL/TLS. Thanks to George
|
||||
Kadianakis <desnacked@gmail.com> for discovering this issue and
|
||||
Adam Langley for preparing the fix. (CVE-2011-4619)
|
||||
[Adam Langley (Google)]
|
||||
|
||||
*) Prevent malformed RFC3779 data triggering an assertion failure.
|
||||
Thanks to Andrew Chi, BBN Technologies, for discovering the flaw
|
||||
and Rob Austein <sra@hactrn.net> for fixing it. (CVE-2011-4577)
|
||||
[Rob Austein <sra@hactrn.net>]
|
||||
Changes between 0.9.8r and 0.9.8s [xx XXX xxxx]
|
||||
|
||||
*) Fix ssl_ciph.c set-up race.
|
||||
[Adam Langley (Google)]
|
||||
|
||||
255
deps/openssl/openssl/Configure
vendored
255
deps/openssl/openssl/Configure
vendored
@@ -10,7 +10,7 @@ use strict;
|
||||
|
||||
# see INSTALL for instructions.
|
||||
|
||||
my $usage="Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [experimental-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [no-asm] [no-dso] [no-krb5] [sctp] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--test-sanity] os/compiler[:flags]\n";
|
||||
my $usage="Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [experimental-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [no-asm] [no-dso] [no-krb5] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--test-sanity] os/compiler[:flags]\n";
|
||||
|
||||
# Options:
|
||||
#
|
||||
@@ -56,7 +56,6 @@ my $usage="Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [experimenta
|
||||
# [no-]zlib [don't] compile support for zlib compression.
|
||||
# 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
|
||||
# no-sse2 disables IA-32 SSE2 code, above option implies no-sse2
|
||||
# no-<cipher> build without specified algorithm (rsa, idea, rc5, ...)
|
||||
@@ -124,24 +123,21 @@ my $tlib="-lnsl -lsocket";
|
||||
my $bits1="THIRTY_TWO_BIT ";
|
||||
my $bits2="SIXTY_FOUR_BIT ";
|
||||
|
||||
my $x86_asm="x86cpuid.o:bn-586.o co-586.o x86-mont.o x86-gf2m.o:des-586.o crypt586.o:aes-586.o vpaes-x86.o aesni-x86.o:bf-586.o:md5-586.o:sha1-586.o sha256-586.o sha512-586.o:cast-586.o:rc4-586.o:rmd-586.o:rc5-586.o:wp_block.o wp-mmx.o:cmll-x86.o:ghash-x86.o:";
|
||||
my $x86_asm="x86cpuid.o:bn-586.o co-586.o x86-mont.o:des-586.o crypt586.o:aes-586.o:bf-586.o:md5-586.o:sha1-586.o sha256-586.o sha512-586.o:cast-586.o:rc4-586.o:rmd-586.o:rc5-586.o:wp_block.o wp-mmx.o:cmll-x86.o";
|
||||
|
||||
my $x86_elf_asm="$x86_asm:elf";
|
||||
|
||||
my $x86_64_asm="x86_64cpuid.o:x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o::aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o::md5-x86_64.o:sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o::rc4-x86_64.o rc4-md5-x86_64.o:::wp-x86_64.o:cmll-x86_64.o cmll_misc.o:ghash-x86_64.o:";
|
||||
my $ia64_asm="ia64cpuid.o:bn-ia64.o ia64-mont.o::aes_core.o aes_cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o::rc4-ia64.o rc4_skey.o:::::ghash-ia64.o::void";
|
||||
my $sparcv9_asm="sparcv9cap.o sparccpuid.o:bn-sparcv9.o sparcv9-mont.o sparcv9a-mont.o:des_enc-sparc.o fcrypt_b.o:aes_core.o aes_cbc.o aes-sparcv9.o:::sha1-sparcv9.o sha256-sparcv9.o sha512-sparcv9.o:::::::ghash-sparcv9.o::void";
|
||||
my $sparcv8_asm=":sparcv8.o:des_enc-sparc.o fcrypt_b.o:::::::::::::void";
|
||||
my $alpha_asm="alphacpuid.o:bn_asm.o alpha-mont.o:::::sha1-alpha.o:::::::ghash-alpha.o::void";
|
||||
my $mips32_asm=":bn-mips.o::aes_cbc.o aes-mips.o:::sha1-mips.o sha256-mips.o::::::::";
|
||||
my $mips64_asm=":bn-mips.o mips-mont.o::aes_cbc.o aes-mips.o:::sha1-mips.o sha256-mips.o sha512-mips.o::::::::";
|
||||
my $s390x_asm="s390xcap.o s390xcpuid.o:bn-s390x.o s390x-mont.o s390x-gf2m.o::aes-s390x.o aes-ctr.o aes-xts.o:::sha1-s390x.o sha256-s390x.o sha512-s390x.o::rc4-s390x.o:::::ghash-s390x.o:";
|
||||
my $armv4_asm="armcap.o armv4cpuid.o:bn_asm.o armv4-mont.o armv4-gf2m.o::aes_cbc.o aes-armv4.o:::sha1-armv4-large.o sha256-armv4.o sha512-armv4.o:::::::ghash-armv4.o::void";
|
||||
my $parisc11_asm="pariscid.o:bn_asm.o parisc-mont.o::aes_core.o aes_cbc.o aes-parisc.o:::sha1-parisc.o sha256-parisc.o sha512-parisc.o::rc4-parisc.o:::::ghash-parisc.o::32";
|
||||
my $parisc20_asm="pariscid.o:pa-risc2W.o parisc-mont.o::aes_core.o aes_cbc.o aes-parisc.o:::sha1-parisc.o sha256-parisc.o sha512-parisc.o::rc4-parisc.o:::::ghash-parisc.o::64";
|
||||
my $ppc32_asm="ppccpuid.o ppccap.o:bn-ppc.o ppc-mont.o ppc64-mont.o::aes_core.o aes_cbc.o aes-ppc.o:::sha1-ppc.o sha256-ppc.o::::::::";
|
||||
my $ppc64_asm="ppccpuid.o ppccap.o:bn-ppc.o ppc-mont.o ppc64-mont.o::aes_core.o aes_cbc.o aes-ppc.o:::sha1-ppc.o sha256-ppc.o sha512-ppc.o::::::::";
|
||||
my $no_asm=":::::::::::::::void";
|
||||
my $x86_64_asm="x86_64cpuid.o:x86_64-gcc.o x86_64-mont.o::aes-x86_64.o::md5-x86_64.o:sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o::rc4-x86_64.o:::wp-x86_64.o:cmll-x86_64.o cmll_misc.o";
|
||||
my $ia64_asm="ia64cpuid.o:bn-ia64.o::aes_core.o aes_cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o::rc4-ia64.o rc4_skey.o:::::void";
|
||||
my $sparcv9_asm="sparcv9cap.o sparccpuid.o:bn-sparcv9.o sparcv9-mont.o sparcv9a-mont.o:des_enc-sparc.o fcrypt_b.o:aes_core.o aes_cbc.o aes-sparcv9.o:::sha1-sparcv9.o sha256-sparcv9.o sha512-sparcv9.o:::::::void";
|
||||
my $sparcv8_asm=":sparcv8.o:des_enc-sparc.o fcrypt_b.o:::::::::::void";
|
||||
my $alpha_asm="alphacpuid.o:bn_asm.o alpha-mont.o::::::::::::void";
|
||||
my $mips3_asm=":bn-mips3.o::::::::::::void";
|
||||
my $s390x_asm="s390xcap.o s390xcpuid.o:bn-s390x.o s390x-mont.o::aes-s390x.o:::sha1-s390x.o sha256-s390x.o sha512-s390x.o::rc4-s390x.o:::::void";
|
||||
my $armv4_asm=":bn_asm.o armv4-mont.o::aes_cbc.o aes-armv4.o:::sha1-armv4-large.o sha256-armv4.o sha512-armv4.o:::::::void";
|
||||
my $ppc32_asm="ppccpuid.o:bn-ppc.o::aes_core.o aes_cbc.o aes-ppc.o:::sha1-ppc.o sha256-ppc.o::::::";
|
||||
my $ppc64_asm="ppccpuid.o:bn-ppc.o ppc-mont.o::aes_core.o aes_cbc.o aes-ppc.o:::sha1-ppc.o sha256-ppc.o sha512-ppc.o::::::";
|
||||
my $no_asm=":::::::::::::void";
|
||||
|
||||
# As for $BSDthreads. Idea is to maintain "collective" set of flags,
|
||||
# which would cover all BSD flavors. -pthread applies to them all,
|
||||
@@ -152,7 +148,7 @@ my $no_asm=":::::::::::::::void";
|
||||
# seems to be sufficient?
|
||||
my $BSDthreads="-pthread -D_THREAD_SAFE -D_REENTRANT";
|
||||
|
||||
#config-string $cc : $cflags : $unistd : $thread_cflag : $sys_id : $lflags : $bn_ops : $cpuid_obj : $bn_obj : $des_obj : $aes_obj : $bf_obj : $md5_obj : $sha1_obj : $cast_obj : $rc4_obj : $rmd160_obj : $rc5_obj : $wp_obj : $cmll_obj : $modes_obj : $engines_obj : $dso_scheme : $shared_target : $shared_cflag : $shared_ldflag : $shared_extension : $ranlib : $arflags : $multilib
|
||||
#config-string $cc : $cflags : $unistd : $thread_cflag : $sys_id : $lflags : $bn_ops : $cpuid_obj : $bn_obj : $des_obj : $aes_obj : $bf_obj : $md5_obj : $sha1_obj : $cast_obj : $rc4_obj : $rmd160_obj : $rc5_obj : $wp_obj : $cmll_obj : $dso_scheme : $shared_target : $shared_cflag : $shared_ldflag : $shared_extension : $ranlib : $arflags : $multilib
|
||||
|
||||
my %table=(
|
||||
# File 'TABLE' (created by 'make TABLE') contains the data from this list,
|
||||
@@ -167,36 +163,32 @@ my %table=(
|
||||
# Our development configs
|
||||
"purify", "purify gcc:-g -DPURIFY -Wall::(unknown)::-lsocket -lnsl::::",
|
||||
"debug", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -ggdb -g2 -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror::(unknown)::-lefence::::",
|
||||
"debug-ben", "gcc:$gcc_devteam_warn -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DDEBUG_SAFESTACK -O2 -pipe::(unknown):::::",
|
||||
"debug-ben", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DDEBUG_UNUSED -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown):::::bn86-elf.o co86-elf.o",
|
||||
"debug-ben-openbsd","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_NO_ASM -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::",
|
||||
"debug-ben-openbsd-debug","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_NO_ASM -g3 -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::",
|
||||
"debug-ben-debug", "gcc44:$gcc_devteam_warn -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -g3 -O2 -pipe::(unknown)::::::",
|
||||
"debug-ben-debug-64", "gcc:$gcc_devteam_warn -Wno-error=overlength-strings -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -g3 -O3 -pipe::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-ben-macos", "cc:$gcc_devteam_warn -arch i386 -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -O3 -DL_ENDIAN -g3 -pipe::(unknown)::-Wl,-search_paths_first::::",
|
||||
"debug-ben-macos-gcc46", "gcc-mp-4.6:$gcc_devteam_warn -Wconversion -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -O3 -DL_ENDIAN -g3 -pipe::(unknown)::::::",
|
||||
"debug-ben-darwin64","cc:$gcc_devteam_warn -Wno-language-extension-token -Wno-extended-offsetof -arch x86_64 -O3 -DL_ENDIAN -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$x86_64_asm;$asm=~s/rc4\-[^:]+//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
|
||||
"debug-ben-no-opt", "gcc: -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG -Werror -DL_ENDIAN -DTERMIOS -Wall -g3::(unknown)::::::",
|
||||
"debug-ben-strict", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DCONST_STRICT -O2 -Wall -Wshadow -Werror -Wpointer-arith -Wcast-qual -Wwrite-strings -pipe::(unknown)::::::",
|
||||
"debug-rse","cc:-DTERMIOS -DL_ENDIAN -pipe -O -g -ggdb3 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
|
||||
"debug-bodo", "gcc:$gcc_devteam_warn -DBN_DEBUG -DBN_DEBUG_RAND -DCONF_DEBUG -DBIO_PAIR_DEBUG -m64 -DL_ENDIAN -DTERMIO -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
|
||||
"debug-bodo", "gcc:-DL_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBIO_PAIR_DEBUG -DPEDANTIC -g -march=i486 -pedantic -Wshadow -Wall -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion::-D_REENTRANT:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
|
||||
"debug-ulf", "gcc:-DTERMIOS -DL_ENDIAN -march=i486 -Wall -DBN_DEBUG -DBN_DEBUG_RAND -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -g -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations:::CYGWIN32:::${no_asm}:win32:cygwin-shared:::.dll",
|
||||
"debug-steve64", "gcc:$gcc_devteam_warn -m64 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -Wno-overlength-strings -g::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-steve64", "gcc:$gcc_devteam_warn -m64 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-steve32", "gcc:$gcc_devteam_warn -m32 -DL_ENDIAN -DCONF_DEBUG -DDEBUG_SAFESTACK -g -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-steve-opt", "gcc:$gcc_devteam_warn -m64 -O3 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -g::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-levitte-linux-elf","gcc:-DLEVITTE_DEBUG -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -ggdb -g3 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-levitte-linux-noasm","gcc:-DLEVITTE_DEBUG -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -ggdb -g3 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-levitte-linux-elf-extreme","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DL_ENDIAN -DTERMIO -DPEDANTIC -ggdb -g3 -pedantic -ansi -Wall -W -Wundef -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-levitte-linux-noasm-extreme","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -ggdb -g3 -pedantic -ansi -Wall -W -Wundef -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-geoff32","gcc:-DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes -Wmissing-declarations -Wno-long-long::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-geoff64","gcc:-DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes -Wmissing-declarations -Wno-long-long::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-steve-opt", "gcc:$gcc_devteam_warn -m64 -O3 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-levitte-linux-elf","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-levitte-linux-noasm","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-levitte-linux-elf-extreme","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -W -Wundef -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-levitte-linux-noasm-extreme","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -W -Wundef -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-geoff32","gcc:-DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -DMD32_REG_T=int -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes -Wmissing-declarations -Wno-long-long::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-geoff64","gcc:-DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -DMD32_REG_T=int -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes -Wmissing-declarations -Wno-long-long::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-linux-pentium","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -mcpu=pentium -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
|
||||
"debug-linux-ppro","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -mcpu=pentiumpro -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
|
||||
"debug-linux-elf","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -march=i486 -Wall::-D_REENTRANT::-lefence -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-linux-elf-noefence","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -march=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-linux-ia32-aes", "gcc:-DAES_EXPERIMENTAL -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:x86cpuid.o:bn-586.o co-586.o x86-mont.o:des-586.o crypt586.o:aes_x86core.o aes_cbc.o aesni-x86.o:bf-586.o:md5-586.o:sha1-586.o sha256-586.o sha512-586.o:cast-586.o:rc4-586.o:rmd-586.o:rc5-586.o:wp_block.o wp-mmx.o::ghash-x86.o::elf:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-linux-ia32-aes", "gcc:-DAES_EXPERIMENTAL -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:x86cpuid.o:bn-586.o co-586.o x86-mont.o:des-586.o crypt586.o:aes_x86core.o aes_cbc.o:bf-586.o:md5-586.o:sha1-586.o sha256-586.o sha512-586.o:cast-586.o:rc4-586.o:rmd-586.o:rc5-586.o:wp_block.o wp-mmx.o::elf:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-linux-generic32","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DTERMIO -g -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-linux-generic64","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DTERMIO -g -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-linux-x86_64","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -m64 -DL_ENDIAN -DTERMIO -g -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
|
||||
"debug-linux-x86_64", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -m64 -DL_ENDIAN -DTERMIO -g -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
|
||||
"dist", "cc:-O::(unknown)::::::",
|
||||
|
||||
# Basic configs that should work on any (32 and less bit) box
|
||||
@@ -222,7 +214,7 @@ my %table=(
|
||||
# actually recommend to consider using gcc shared build even with vendor
|
||||
# compiler:-)
|
||||
# <appro@fy.chalmers.se>
|
||||
"solaris64-x86_64-gcc","gcc:-m64 -O3 -Wall -DL_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:solaris-shared:-fPIC:-m64 -shared -static-libgcc:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/64",
|
||||
"solaris64-x86_64-gcc","gcc:-m64 -O3 -Wall -DL_ENDIAN -DMD32_REG_T=int::-D_REENTRANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:solaris-shared:-fPIC:-m64 -shared -static-libgcc:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/64",
|
||||
|
||||
#### Solaris x86 with Sun C setups
|
||||
"solaris-x86-cc","cc:-fast -O -Xa::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
@@ -245,7 +237,7 @@ my %table=(
|
||||
"solaris-sparcv7-cc","cc:-xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"solaris-sparcv8-cc","cc:-xarch=v8 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"solaris-sparcv9-cc","cc:-xtarget=ultra -xarch=v8plus -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"solaris64-sparcv9-cc","cc:-xtarget=ultra -xarch=v9 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-KPIC:-xarch=v9 -G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/64",
|
||||
"solaris64-sparcv9-cc","cc:-xtarget=ultra -xarch=v9 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-KPIC:-xarch=v9 -G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):/usr/ccs/bin/ar rs::/64",
|
||||
####
|
||||
"debug-solaris-sparcv8-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -xarch=v8 -g -O -xstrconst -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-solaris-sparcv9-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -xtarget=ultra -xarch=v8plus -g -O -xstrconst -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
@@ -256,16 +248,16 @@ my %table=(
|
||||
|
||||
#### IRIX 5.x configs
|
||||
# -mips2 flag is added by ./config when appropriate.
|
||||
"irix-gcc","gcc:-O3 -DTERMIOS -DB_ENDIAN::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK DES_UNROLL DES_RISC2 DES_PTR BF_PTR:${mips32_asm}:o32:dlfcn:irix-shared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"irix-cc", "cc:-O2 -use_readonly_const -DTERMIOS -DB_ENDIAN::(unknown):::BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC2 DES_UNROLL BF_PTR:${mips32_asm}:o32:dlfcn:irix-shared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"irix-gcc","gcc:-O3 -DTERMIOS -DB_ENDIAN::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK DES_UNROLL DES_RISC2 DES_PTR BF_PTR:${no_asm}:dlfcn:irix-shared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"irix-cc", "cc:-O2 -use_readonly_const -DTERMIOS -DB_ENDIAN::(unknown):::BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC2 DES_UNROLL BF_PTR:${no_asm}:dlfcn:irix-shared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
#### IRIX 6.x configs
|
||||
# Only N32 and N64 ABIs are supported. If you need O32 ABI build, invoke
|
||||
# './Configure irix-cc -o32' manually.
|
||||
"irix-mips3-gcc","gcc:-mabi=n32 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK_LL DES_UNROLL DES_RISC2 DES_PTR BF_PTR SIXTY_FOUR_BIT:${mips64_asm}:n32:dlfcn:irix-shared::-mabi=n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::32",
|
||||
"irix-mips3-cc", "cc:-n32 -mips3 -O2 -use_readonly_const -G0 -rdata_shared -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::DES_PTR RC4_CHAR RC4_CHUNK_LL DES_RISC2 DES_UNROLL BF_PTR SIXTY_FOUR_BIT:${mips64_asm}:n32:dlfcn:irix-shared::-n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::32",
|
||||
"irix-mips3-gcc","gcc:-mabi=n32 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK_LL DES_UNROLL DES_RISC2 DES_PTR BF_PTR SIXTY_FOUR_BIT:${mips3_asm}:dlfcn:irix-shared::-mabi=n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::32",
|
||||
"irix-mips3-cc", "cc:-n32 -mips3 -O2 -use_readonly_const -G0 -rdata_shared -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::DES_PTR RC4_CHAR RC4_CHUNK_LL DES_RISC2 DES_UNROLL BF_PTR SIXTY_FOUR_BIT:${mips3_asm}:dlfcn:irix-shared::-n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::32",
|
||||
# N64 ABI builds.
|
||||
"irix64-mips4-gcc","gcc:-mabi=64 -mips4 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG:${mips64_asm}:64:dlfcn:irix-shared::-mabi=64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
|
||||
"irix64-mips4-cc", "cc:-64 -mips4 -O2 -use_readonly_const -G0 -rdata_shared -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG:${mips64_asm}:64:dlfcn:irix-shared::-64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
|
||||
"irix64-mips4-gcc","gcc:-mabi=64 -mips4 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG:${mips3_asm}:dlfcn:irix-shared::-mabi=64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
|
||||
"irix64-mips4-cc", "cc:-64 -mips4 -O2 -use_readonly_const -G0 -rdata_shared -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG:${mips3_asm}:dlfcn:irix-shared::-64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
|
||||
|
||||
#### Unified HP-UX ANSI C configs.
|
||||
# Special notes:
|
||||
@@ -298,18 +290,17 @@ my %table=(
|
||||
# Since there is mention of this in shlib/hpux10-cc.sh
|
||||
"hpux-parisc-cc-o4","cc:-Ae +O4 +ESlit -z -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY::-D_REENTRANT::-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1:${no_asm}:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"hpux-parisc-gcc","gcc:-O3 -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-Wl,+s -ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1:${no_asm}:dl:hpux-shared:-fPIC:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"hpux-parisc1_1-gcc","gcc:-O3 -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-Wl,+s -ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1:${parisc11_asm}:dl:hpux-shared:-fPIC:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/pa1.1",
|
||||
"hpux-parisc2-gcc","gcc:-march=2.0 -O3 -DB_ENDIAN -D_REENTRANT::::-Wl,+s -ldld:SIXTY_FOUR_BIT RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL DES_RISC1:".eval{my $asm=$parisc20_asm;$asm=~s/2W\./2\./;$asm=~s/:64/:32/;$asm}.":dl:hpux-shared:-fPIC:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/pa20_32",
|
||||
"hpux64-parisc2-gcc","gcc:-O3 -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::pa-risc2W.o::::::::::::::void:dlfcn:hpux-shared:-fpic:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/pa20_64",
|
||||
"hpux-parisc2-gcc","gcc:-march=2.0 -O3 -DB_ENDIAN -D_REENTRANT::::-Wl,+s -ldld:SIXTY_FOUR_BIT RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL DES_RISC1::pa-risc2.o::::::::::::void:dl:hpux-shared:-fPIC:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"hpux64-parisc2-gcc","gcc:-O3 -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::pa-risc2W.o::::::::::::void:dlfcn:hpux-shared:-fpic:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/pa20_64",
|
||||
|
||||
# More attempts at unified 10.X and 11.X targets for HP C compiler.
|
||||
#
|
||||
# Chris Ruemmler <ruemmler@cup.hp.com>
|
||||
# Kevin Steves <ks@hp.se>
|
||||
"hpux-parisc-cc","cc:+O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY::-D_REENTRANT::-Wl,+s -ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:${no_asm}:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"hpux-parisc1_1-cc","cc:+DA1.1 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT::-Wl,+s -ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:${parisc11_asm}:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/pa1.1",
|
||||
"hpux-parisc2-cc","cc:+DA2.0 +DS2.0 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY -D_REENTRANT::::-Wl,+s -ldld:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:".eval{my $asm=$parisc20_asm;$asm=~s/2W\./2\./;$asm=~s/:64/:32/;$asm}.":dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/pa20_32",
|
||||
"hpux64-parisc2-cc","cc:+DD64 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:${parisc20_asm}:dlfcn:hpux-shared:+Z:+DD64 -b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/pa20_64",
|
||||
"hpux-parisc1_0-cc","cc:+DAportable +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT::-Wl,+s -ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:${no_asm}:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"hpux-parisc2-cc","cc:+DA2.0 +DS2.0 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY -D_REENTRANT::::-Wl,+s -ldld:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::pa-risc2.o::::::::::::void:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"hpux64-parisc2-cc","cc:+DD64 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::pa-risc2W.o::::::::::::void:dlfcn:hpux-shared:+Z:+DD64 -b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/pa20_64",
|
||||
|
||||
# HP/UX IA-64 targets
|
||||
"hpux-ia64-cc","cc:-Ae +DD32 +O2 +Olit=all -z -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:${ia64_asm}:dlfcn:hpux-shared:+Z:+DD32 -b:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/hpux32",
|
||||
@@ -360,22 +351,8 @@ my %table=(
|
||||
"linux-ia64", "gcc:-DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"linux-ia64-icc","icc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"linux-x86_64", "gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
|
||||
"linux64-s390x", "gcc:-m64 -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
|
||||
#### So called "highgprs" target for z/Architecture CPUs
|
||||
# "Highgprs" is kernel feature first implemented in Linux 2.6.32, see
|
||||
# /proc/cpuinfo. The idea is to preserve most significant bits of
|
||||
# general purpose registers not only upon 32-bit process context
|
||||
# switch, but even on asynchronous signal delivery to such process.
|
||||
# This makes it possible to deploy 64-bit instructions even in legacy
|
||||
# application context and achieve better [or should we say adequate]
|
||||
# performance. The build is binary compatible with linux-generic32,
|
||||
# and the idea is to be able to install the resulting libcrypto.so
|
||||
# alongside generic one, e.g. as /lib/highgprs/libcrypto.so.x.y, for
|
||||
# ldconfig and run-time linker to autodiscover. Unfortunately it
|
||||
# doesn't work just yet, because of couple of bugs in glibc
|
||||
# sysdeps/s390/dl-procinfo.c affecting ldconfig and ld.so.1...
|
||||
"linux32-s390x", "gcc:-m31 -Wa,-mzarch -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$s390x_asm;$asm=~s/bn\-s390x\.o/bn_asm.o/;$asm}.":31:dlfcn:linux-shared:-fPIC:-m31:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/highgprs",
|
||||
"linux-x86_64", "gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
|
||||
"linux-s390x", "gcc:-m64 -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
|
||||
#### SPARC Linux setups
|
||||
# Ray Miller <ray.miller@computing-services.oxford.ac.uk> has patiently
|
||||
# assisted with debugging of following two configs.
|
||||
@@ -403,11 +380,6 @@ my %table=(
|
||||
"linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
|
||||
"linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
|
||||
|
||||
# Android: linux-* but without -DTERMIO and pointers to headers and libs.
|
||||
"android","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"android-x86","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:".eval{my $asm=${x86_elf_asm};$asm=~s/:elf/:android/;$asm}.":dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"android-armv7","gcc:-march=armv7-a -mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
|
||||
#### *BSD [do see comment about ${BSDthreads} above!]
|
||||
"BSD-generic32","gcc:-DTERMIOS -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"BSD-x86", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
@@ -421,7 +393,7 @@ my %table=(
|
||||
# triggered by RIPEMD160 code.
|
||||
"BSD-sparc64", "gcc:-DB_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC2 BF_PTR:${sparcv9_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"BSD-ia64", "gcc:-DL_ENDIAN -DTERMIOS -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"BSD-x86_64", "gcc:-DL_ENDIAN -DTERMIOS -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"BSD-x86_64", "gcc:-DL_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
|
||||
"bsdi-elf-gcc", "gcc:-DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall::(unknown)::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
|
||||
@@ -466,8 +438,8 @@ my %table=(
|
||||
"aix64-gcc","gcc:-maix64 -O -DB_ENDIAN::-pthread:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR:${ppc64_asm}:aix64:dlfcn:aix-shared::-maix64 -shared -Wl,-G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X64",
|
||||
# Below targets assume AIX 5. Idea is to effectively disregard $OBJECT_MODE
|
||||
# at build time. $OBJECT_MODE is respected at ./config stage!
|
||||
"aix-cc", "cc:-q32 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded -D_THREAD_SAFE:AIX::BN_LLONG RC4_CHAR:${ppc32_asm}:aix32:dlfcn:aix-shared::-q32 -G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 32",
|
||||
"aix64-cc", "cc:-q64 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded -D_THREAD_SAFE:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR:${ppc64_asm}:aix64:dlfcn:aix-shared::-q64 -G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 64",
|
||||
"aix-cc", "cc:-q32 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX::BN_LLONG RC4_CHAR:${ppc32_asm}:aix32:dlfcn:aix-shared::-q32 -G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 32",
|
||||
"aix64-cc", "cc:-q64 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR:${ppc64_asm}:aix64:dlfcn:aix-shared::-q64 -G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 64",
|
||||
|
||||
#
|
||||
# Cray T90 and similar (SDSC)
|
||||
@@ -518,13 +490,13 @@ my %table=(
|
||||
# Visual C targets
|
||||
#
|
||||
# Win64 targets, WIN64I denotes IA-64 and WIN64A - AMD64
|
||||
"VC-WIN64I","cl:-W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64I::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:ia64cpuid.o:ia64.o ia64-mont.o::aes_core.o aes_cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o:::::::ghash-ia64.o::ias:win32",
|
||||
"VC-WIN64A","cl:-W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64A::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:".eval{my $asm=$x86_64_asm;$asm=~s/x86_64-gcc\.o/bn_asm.o/;$asm}.":auto:win32",
|
||||
"debug-VC-WIN64I","cl:-W3 -Gs0 -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64I::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:ia64cpuid.o:ia64.o::aes_core.o aes_cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o:::::::ghash-ia64.o::ias:win32",
|
||||
"debug-VC-WIN64A","cl:-W3 -Gs0 -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64A::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:".eval{my $asm=$x86_64_asm;$asm=~s/x86_64-gcc\.o/bn_asm.o/;$asm}.":auto:win32",
|
||||
"VC-WIN64I","cl:-W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64I::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:ia64cpuid.o:ia64.o::aes_core.o aes_cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o:::::::ias:win32",
|
||||
"VC-WIN64A","cl:-W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64A::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:x86_64cpuid.o:bn_asm.o x86_64-mont.o::aes-x86_64.o::md5-x86_64.o:sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o::rc4-x86_64.o:::wp-x86_64.o:cmll-x86_64.o cmll_misc.o:auto:win32",
|
||||
"debug-VC-WIN64I","cl:-W3 -Gs0 -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64I::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:ia64cpuid.o:ia64.o::aes_core.o aes_cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o:::::::ias:win32",
|
||||
"debug-VC-WIN64A","cl:-W3 -Gs0 -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64A::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:x86_64cpuid.o:bn_asm.o x86_64-mont.o::aes-x86_64.o::md5-x86_64.o:sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o::rc4-x86_64.o:::wp-x86_64.o:cmll-x86_64.o cmll_misc.o:auto:win32",
|
||||
# x86 Win32 target defaults to ANSI API, if you want UNICODE, complement
|
||||
# 'perl Configure VC-WIN32' with '-DUNICODE -D_UNICODE'
|
||||
"VC-WIN32","cl:-W3 -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32",
|
||||
"VC-WIN32","cl:-W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32",
|
||||
# Unified CE target
|
||||
"debug-VC-WIN32","cl:-W3 -WX -Gs0 -GF -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32",
|
||||
"VC-CE","cl::::WINCE::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${no_asm}:win32",
|
||||
@@ -579,12 +551,10 @@ my %table=(
|
||||
"rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown):MACOSX_RHAPSODY::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}::",
|
||||
"darwin-ppc-cc","cc:-arch ppc -O3 -DB_ENDIAN -Wa,-force_cpusubtype_ALL::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc32_asm}:osx32:dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
|
||||
"darwin64-ppc-cc","cc:-arch ppc64 -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc64_asm}:osx64:dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
|
||||
"darwin-i386-cc","cc:-arch i386 -O3 -fomit-frame-pointer -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:".eval{my $asm=$x86_asm;$asm=~s/cast\-586\.o//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
|
||||
"darwin-i386-cc","cc:-arch i386 -O3 -fomit-frame-pointer -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:${x86_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
|
||||
"debug-darwin-i386-cc","cc:-arch i386 -g3 -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:${x86_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
|
||||
"darwin64-x86_64-cc","cc:-arch x86_64 -O3 -DL_ENDIAN -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$x86_64_asm;$asm=~s/rc4\-[^:]+//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
|
||||
"darwin64-x86_64-cc","cc:-arch x86_64 -O3 -DL_ENDIAN -DMD32_REG_T=int -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$x86_64_asm;$asm=~s/rc4\-[^:]+//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
|
||||
"debug-darwin-ppc-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DB_ENDIAN -g -Wall -O::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc32_asm}:osx32:dlfcn:darwin-shared:-fPIC:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
|
||||
# iPhoneOS/iOS
|
||||
"iphoneos-cross","llvm-gcc:-O3 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fomit-frame-pointer -fno-common::-D_REENTRANT:iOS:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
|
||||
|
||||
##### A/UX
|
||||
"aux3-gcc","gcc:-O2 -DTERMIO::(unknown):AUX:-lbsd:RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::",
|
||||
@@ -599,21 +569,18 @@ my %table=(
|
||||
"OS2-EMX", "gcc::::::::",
|
||||
|
||||
##### VxWorks for various targets
|
||||
"vxworks-ppc60x","ccppc:-D_REENTRANT -mrtp -mhard-float -mstrict-align -fno-implicit-fp -DPPC32_fp60x -O2 -fstrength-reduce -fno-builtin -fno-strict-aliasing -Wall -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -I\$(WIND_BASE)/target/usr/h -I\$(WIND_BASE)/target/usr/h/wrn/coreip:::VXWORKS:-Wl,--defsym,__wrs_rtp_base=0xe0000000 -L \$(WIND_BASE)/target/usr/lib/ppc/PPC32/common:::::",
|
||||
"vxworks-ppcgen","ccppc:-D_REENTRANT -mrtp -msoft-float -mstrict-align -O1 -fno-builtin -fno-strict-aliasing -Wall -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -I\$(WIND_BASE)/target/usr/h -I\$(WIND_BASE)/target/usr/h/wrn/coreip:::VXWORKS:-Wl,--defsym,__wrs_rtp_base=0xe0000000 -L \$(WIND_BASE)/target/usr/lib/ppc/PPC32/sfcommon:::::",
|
||||
"vxworks-ppc405","ccppc:-g -msoft-float -mlongcall -DCPU=PPC405 -I\$(WIND_BASE)/target/h:::VXWORKS:-r:::::",
|
||||
"vxworks-ppc750","ccppc:-ansi -nostdinc -DPPC750 -D_REENTRANT -fvolatile -fno-builtin -fno-for-scope -fsigned-char -Wall -msoft-float -mlongcall -DCPU=PPC604 -I\$(WIND_BASE)/target/h \$(DEBUG_FLAG):::VXWORKS:-r:::::",
|
||||
"vxworks-ppc750-debug","ccppc:-ansi -nostdinc -DPPC750 -D_REENTRANT -fvolatile -fno-builtin -fno-for-scope -fsigned-char -Wall -msoft-float -mlongcall -DCPU=PPC604 -I\$(WIND_BASE)/target/h -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DDEBUG -g:::VXWORKS:-r:::::",
|
||||
"vxworks-ppc860","ccppc:-nostdinc -msoft-float -DCPU=PPC860 -DNO_STRINGS_H -I\$(WIND_BASE)/target/h:::VXWORKS:-r:::::",
|
||||
"vxworks-simlinux","ccpentium:-B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -D_VSB_CONFIG_FILE=\"\$(WIND_BASE)/target/lib/h/config/vsbConfig.h\" -DL_ENDIAN -DCPU=SIMLINUX -DTOOL_FAMILY=gnu -DTOOL=gnu -fno-builtin -fno-defer-pop -DNO_STRINGS_H -I\$(WIND_BASE)/target/h -I\$(WIND_BASE)/target/h/wrn/coreip -DOPENSSL_NO_HW_PADLOCK:::VXWORKS:-r::${no_asm}::::::ranlibpentium:",
|
||||
"vxworks-mips","ccmips:-mrtp -mips2 -O -G 0 -B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -D_VSB_CONFIG_FILE=\"\$(WIND_BASE)/target/lib/h/config/vsbConfig.h\" -DCPU=MIPS32 -msoft-float -mno-branch-likely -DTOOL_FAMILY=gnu -DTOOL=gnu -fno-builtin -fno-defer-pop -DNO_STRINGS_H -I\$(WIND_BASE)/target/usr/h -I\$(WIND_BASE)/target/h/wrn/coreip::-D_REENTRANT:VXWORKS:-Wl,--defsym,__wrs_rtp_base=0xe0000000 -L \$(WIND_BASE)/target/usr/lib/mips/MIPSI32/sfcommon::${mips32_asm}:o32::::::ranlibmips:",
|
||||
"vxworks-mipsle","ccmips:-B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -DL_ENDIAN -EL -Wl,-EL -mips2 -mno-branch-likely -G 0 -fno-builtin -msoft-float -DCPU=MIPS32 -DMIPSEL -DNO_STRINGS_H -I\$(WIND_BASE)/target/h:::VXWORKS:-r::${no_asm}::::::ranlibmips:",
|
||||
|
||||
##### Compaq Non-Stop Kernel (Tandem)
|
||||
"tandem-c89","c89:-Ww -D__TANDEM -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D_TANDEM_SOURCE -DB_ENDIAN::(unknown):::THIRTY_TWO_BIT:::",
|
||||
|
||||
# uClinux
|
||||
"uClinux-dist","$ENV{'CC'}:\$(CFLAGS)::-D_REENTRANT::\$(LDFLAGS) \$(LDLIBS):BN_LLONG:${no_asm}:$ENV{'LIBSSL_dlfcn'}:linux-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):$ENV{'RANLIB'}::",
|
||||
"uClinux-dist64","$ENV{'CC'}:\$(CFLAGS)::-D_REENTRANT::\$(LDFLAGS) \$(LDLIBS):SIXTY_FOUR_BIT_LONG:${no_asm}:$ENV{'LIBSSL_dlfcn'}:linux-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):$ENV{'RANLIB'}::",
|
||||
"uClinux-dist","$ENV{'CC'}:\$(CFLAGS)::-D_REENTRANT::\$(LDFLAGS) \$(LDLIBS):BN_LLONG:::::::::::::::$ENV{'LIBSSL_dlfcn'}:linux-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):$ENV{'RANLIB'}::",
|
||||
"uClinux-dist64","$ENV{'CC'}:\$(CFLAGS)::-D_REENTRANT::\$(LDFLAGS) \$(LDLIBS):SIXTY_FOUR_BIT_LONG:::::::::::::::$ENV{'LIBSSL_dlfcn'}:linux-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):$ENV{'RANLIB'}::",
|
||||
|
||||
);
|
||||
|
||||
@@ -645,8 +612,6 @@ my $idx_rmd160_obj = $idx++;
|
||||
my $idx_rc5_obj = $idx++;
|
||||
my $idx_wp_obj = $idx++;
|
||||
my $idx_cmll_obj = $idx++;
|
||||
my $idx_modes_obj = $idx++;
|
||||
my $idx_engines_obj = $idx++;
|
||||
my $idx_perlasm_scheme = $idx++;
|
||||
my $idx_dso_scheme = $idx++;
|
||||
my $idx_shared_target = $idx++;
|
||||
@@ -663,9 +628,6 @@ my $openssldir="";
|
||||
my $exe_ext="";
|
||||
my $install_prefix= "$ENV{'INSTALL_PREFIX'}";
|
||||
my $cross_compile_prefix="";
|
||||
my $fipsdir="/usr/local/ssl/fips-2.0";
|
||||
my $fipslibdir="";
|
||||
my $baseaddr="0xFB00000";
|
||||
my $no_threads=0;
|
||||
my $threads=0;
|
||||
my $no_shared=0; # but "no-shared" is default
|
||||
@@ -700,34 +662,26 @@ my $cmll_enc="camellia.o cmll_misc.o cmll_cbc.o";
|
||||
my $processor="";
|
||||
my $default_ranlib;
|
||||
my $perl;
|
||||
my $fips=0;
|
||||
|
||||
if (exists $ENV{FIPSDIR})
|
||||
{
|
||||
$fipsdir = $ENV{FIPSDIR};
|
||||
$fipsdir =~ s/\/$//;
|
||||
}
|
||||
|
||||
# All of the following is disabled by default (RC5 was enabled before 0.9.8):
|
||||
|
||||
my %disabled = ( # "what" => "comment" [or special keyword "experimental"]
|
||||
"ec_nistp_64_gcc_128" => "default",
|
||||
"gmp" => "default",
|
||||
"jpake" => "experimental",
|
||||
"md2" => "default",
|
||||
"rc5" => "default",
|
||||
"jpake" => "experimental",
|
||||
"md2" => "default",
|
||||
"rc5" => "default",
|
||||
"rfc3779" => "default",
|
||||
"sctp" => "default",
|
||||
"shared" => "default",
|
||||
"shared" => "default",
|
||||
"store" => "experimental",
|
||||
"zlib" => "default",
|
||||
"zlib-dynamic" => "default"
|
||||
);
|
||||
"zlib" => "default",
|
||||
"zlib-dynamic" => "default"
|
||||
);
|
||||
my @experimental = ();
|
||||
|
||||
# This is what $depflags will look like with the above defaults
|
||||
# (we need this to see if we should advise the user to run "make depend"):
|
||||
my $default_depflags = " -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_STORE";
|
||||
my $default_depflags = " -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_STORE";
|
||||
|
||||
# Explicit "no-..." options will be collected in %disabled along with the defaults.
|
||||
# To remove something from %disabled, use "enable-foo" (unless it's experimental).
|
||||
@@ -785,7 +739,6 @@ PROCESS_ARGS:
|
||||
|
||||
# rewrite some options in "enable-..." form
|
||||
s /^-?-?shared$/enable-shared/;
|
||||
s /^sctp$/enable-sctp/;
|
||||
s /^threads$/enable-threads/;
|
||||
s /^zlib$/enable-zlib/;
|
||||
s /^zlib-dynamic$/enable-zlib-dynamic/;
|
||||
@@ -855,10 +808,6 @@ PROCESS_ARGS:
|
||||
}
|
||||
elsif (/^386$/)
|
||||
{ $processor=386; }
|
||||
elsif (/^fips$/)
|
||||
{
|
||||
$fips=1;
|
||||
}
|
||||
elsif (/^rsaref$/)
|
||||
{
|
||||
# No RSAref support any more since it's not needed.
|
||||
@@ -873,7 +822,6 @@ PROCESS_ARGS:
|
||||
}
|
||||
elsif (/^-[^-]/ or /^\+/)
|
||||
{
|
||||
$_ =~ s/%([0-9a-f]{1,2})/chr(hex($1))/gei;
|
||||
$flags.=$_." ";
|
||||
}
|
||||
elsif (/^--prefix=(.*)$/)
|
||||
@@ -904,18 +852,6 @@ PROCESS_ARGS:
|
||||
{
|
||||
$withargs{"zlib-include"}="-I$1";
|
||||
}
|
||||
elsif (/^--with-fipsdir=(.*)$/)
|
||||
{
|
||||
$fipsdir="$1";
|
||||
}
|
||||
elsif (/^--with-fipslibdir=(.*)$/)
|
||||
{
|
||||
$fipslibdir="$1";
|
||||
}
|
||||
elsif (/^--with-baseaddr=(.*)$/)
|
||||
{
|
||||
$baseaddr="$1";
|
||||
}
|
||||
elsif (/^--cross-compile-prefix=(.*)$/)
|
||||
{
|
||||
$cross_compile_prefix=$1;
|
||||
@@ -990,17 +926,6 @@ if (defined($disabled{"md5"}) || defined($disabled{"rsa"}))
|
||||
$disabled{"ssl2"} = "forced";
|
||||
}
|
||||
|
||||
if ($fips && $fipslibdir eq "")
|
||||
{
|
||||
$fipslibdir = $fipsdir . "/lib/";
|
||||
}
|
||||
|
||||
# RSAX ENGINE sets default non-FIPS RSA method.
|
||||
if ($fips)
|
||||
{
|
||||
$disabled{"rsax"} = "forced";
|
||||
}
|
||||
|
||||
# SSL 3.0 and TLS requires MD5 and SHA and either RSA or DSA+DH
|
||||
if (defined($disabled{"md5"}) || defined($disabled{"sha"})
|
||||
|| (defined($disabled{"rsa"})
|
||||
@@ -1021,13 +946,6 @@ if (defined($disabled{"ec"}) || defined($disabled{"dsa"})
|
||||
$disabled{"gost"} = "forced";
|
||||
}
|
||||
|
||||
# SRP and HEARTBEATS require TLSEXT
|
||||
if (defined($disabled{"tlsext"}))
|
||||
{
|
||||
$disabled{"srp"} = "forced";
|
||||
$disabled{"heartbeats"} = "forced";
|
||||
}
|
||||
|
||||
if ($target eq "TABLE") {
|
||||
foreach $target (sort keys %table) {
|
||||
print_table_entry($target);
|
||||
@@ -1077,7 +995,7 @@ foreach (sort (keys %disabled))
|
||||
else
|
||||
{
|
||||
my ($ALGO, $algo);
|
||||
($ALGO = $algo = $_) =~ tr/[\-a-z]/[_A-Z]/;
|
||||
($ALGO = $algo = $_) =~ tr/[a-z]/[A-Z]/;
|
||||
|
||||
if (/^asm$/ || /^err$/ || /^hw$/ || /^hw-/)
|
||||
{
|
||||
@@ -1097,8 +1015,6 @@ foreach (sort (keys %disabled))
|
||||
else
|
||||
{
|
||||
push @skip, $algo;
|
||||
# fix-up crypto/directory name(s)
|
||||
@skip[$#skip]="whrlpool" if $algo eq "whirlpool";
|
||||
print " (skip dir)";
|
||||
|
||||
$depflags .= " -DOPENSSL_NO_$ALGO";
|
||||
@@ -1169,8 +1085,6 @@ my $rmd160_obj = $fields[$idx_rmd160_obj];
|
||||
my $rc5_obj = $fields[$idx_rc5_obj];
|
||||
my $wp_obj = $fields[$idx_wp_obj];
|
||||
my $cmll_obj = $fields[$idx_cmll_obj];
|
||||
my $modes_obj = $fields[$idx_modes_obj];
|
||||
my $engines_obj = $fields[$idx_engines_obj];
|
||||
my $perlasm_scheme = $fields[$idx_perlasm_scheme];
|
||||
my $dso_scheme = $fields[$idx_dso_scheme];
|
||||
my $shared_target = $fields[$idx_shared_target];
|
||||
@@ -1331,7 +1245,7 @@ if ($no_asm)
|
||||
{
|
||||
$cpuid_obj=$bn_obj=
|
||||
$des_obj=$aes_obj=$bf_obj=$cast_obj=$rc4_obj=$rc5_obj=$cmll_obj=
|
||||
$modes_obj=$sha1_obj=$md5_obj=$rmd160_obj=$wp_obj=$engines_obj="";
|
||||
$sha1_obj=$md5_obj=$rmd160_obj=$wp_obj="";
|
||||
}
|
||||
|
||||
if (!$no_shared)
|
||||
@@ -1395,7 +1309,7 @@ if (!$IsMK1MF)
|
||||
}
|
||||
}
|
||||
|
||||
$cpuid_obj.=" uplink.o uplink-x86.o" if ($cflags =~ /\-DOPENSSL_USE_APPLINK/);
|
||||
$cpuid_obj.=" uplink.o uplink-cof.o" if ($cflags =~ /\-DOPENSSL_USE_APPLINK/);
|
||||
|
||||
#
|
||||
# Platform fix-ups
|
||||
@@ -1463,14 +1377,6 @@ $cflags.=" -DOPENSSL_BN_ASM_PART_WORDS" if ($bn_obj =~ /bn-586/);
|
||||
$cflags.=" -DOPENSSL_IA32_SSE2" if (!$no_sse2 && $bn_obj =~ /86/);
|
||||
|
||||
$cflags.=" -DOPENSSL_BN_ASM_MONT" if ($bn_obj =~ /-mont/);
|
||||
$cflags.=" -DOPENSSL_BN_ASM_MONT5" if ($bn_obj =~ /-mont5/);
|
||||
$cflags.=" -DOPENSSL_BN_ASM_GF2m" if ($bn_obj =~ /-gf2m/);
|
||||
|
||||
if ($fips)
|
||||
{
|
||||
$openssl_other_defines.="#define OPENSSL_FIPS\n";
|
||||
$cflags .= " -I\$(FIPSDIR)/include";
|
||||
}
|
||||
|
||||
$cpuid_obj="mem_clr.o" unless ($cpuid_obj =~ /\.o$/);
|
||||
$des_obj=$des_enc unless ($des_obj =~ /\.o$/);
|
||||
@@ -1504,20 +1410,12 @@ if ($rmd160_obj =~ /\.o$/)
|
||||
if ($aes_obj =~ /\.o$/)
|
||||
{
|
||||
$cflags.=" -DAES_ASM";
|
||||
# aes-ctr.o is not a real file, only indication that assembler
|
||||
# module implements AES_ctr32_encrypt...
|
||||
$cflags.=" -DAES_CTR_ASM" if ($aes_obj =~ s/\s*aes\-ctr\.o//);
|
||||
# aes-xts.o indicates presense of AES_xts_[en|de]crypt...
|
||||
$cflags.=" -DAES_XTS_ASM" if ($aes_obj =~ s/\s*aes\-xts\.o//);
|
||||
$aes_obj =~ s/\s*(vpaes|aesni)\-x86\.o//g if ($no_sse2);
|
||||
$cflags.=" -DVPAES_ASM" if ($aes_obj =~ m/vpaes/);
|
||||
$cflags.=" -DBSAES_ASM" if ($aes_obj =~ m/bsaes/);
|
||||
}
|
||||
else {
|
||||
$aes_obj=$aes_enc;
|
||||
}
|
||||
$wp_obj="" if ($wp_obj =~ /mmx/ && $processor eq "386");
|
||||
if ($wp_obj =~ /\.o$/ && !$disabled{"whirlpool"})
|
||||
if ($wp_obj =~ /\.o$/)
|
||||
{
|
||||
$cflags.=" -DWHIRLPOOL_ASM";
|
||||
}
|
||||
@@ -1525,10 +1423,6 @@ else {
|
||||
$wp_obj="wp_block.o";
|
||||
}
|
||||
$cmll_obj=$cmll_enc unless ($cmll_obj =~ /.o$/);
|
||||
if ($modes_obj =~ /ghash/)
|
||||
{
|
||||
$cflags.=" -DGHASH_ASM";
|
||||
}
|
||||
|
||||
# "Stringify" the C flags string. This permits it to be made part of a string
|
||||
# and works as well on command lines.
|
||||
@@ -1643,8 +1537,6 @@ while (<IN>)
|
||||
s/^RMD160_ASM_OBJ=.*$/RMD160_ASM_OBJ= $rmd160_obj/;
|
||||
s/^WP_ASM_OBJ=.*$/WP_ASM_OBJ= $wp_obj/;
|
||||
s/^CMLL_ENC=.*$/CMLL_ENC= $cmll_obj/;
|
||||
s/^MODES_ASM_OBJ.=*$/MODES_ASM_OBJ= $modes_obj/;
|
||||
s/^ENGINES_ASM_OBJ.=*$/ENGINES_ASM_OBJ= $engines_obj/;
|
||||
s/^PERLASM_SCHEME=.*$/PERLASM_SCHEME= $perlasm_scheme/;
|
||||
s/^PROCESSOR=.*/PROCESSOR= $processor/;
|
||||
s/^ARFLAGS=.*/ARFLAGS= $arflags/;
|
||||
@@ -1653,12 +1545,6 @@ while (<IN>)
|
||||
s/^LIBKRB5=.*/LIBKRB5=$withargs{"krb5-lib"}/;
|
||||
s/^LIBZLIB=.*/LIBZLIB=$withargs{"zlib-lib"}/;
|
||||
s/^ZLIB_INCLUDE=.*/ZLIB_INCLUDE=$withargs{"zlib-include"}/;
|
||||
|
||||
s/^FIPSDIR=.*/FIPSDIR=$fipsdir/;
|
||||
s/^FIPSLIBDIR=.*/FIPSLIBDIR=$fipslibdir/;
|
||||
s/^FIPSCANLIB=.*/FIPSCANLIB=libcrypto/ if $fips;
|
||||
s/^BASEADDR=.*/BASEADDR=$baseaddr/;
|
||||
|
||||
s/^SHLIB_TARGET=.*/SHLIB_TARGET=$shared_target/;
|
||||
s/^SHLIB_MARK=.*/SHLIB_MARK=$shared_mark/;
|
||||
s/^SHARED_LIBS=.*/SHARED_LIBS=\$(SHARED_CRYPTO) \$(SHARED_SSL)/ if (!$no_shared);
|
||||
@@ -1702,9 +1588,7 @@ print "RC5_ENC =$rc5_obj\n";
|
||||
print "MD5_OBJ_ASM =$md5_obj\n";
|
||||
print "SHA1_OBJ_ASM =$sha1_obj\n";
|
||||
print "RMD160_OBJ_ASM=$rmd160_obj\n";
|
||||
print "CMLL_ENC =$cmll_obj\n";
|
||||
print "MODES_OBJ =$modes_obj\n";
|
||||
print "ENGINES_OBJ =$engines_obj\n";
|
||||
print "CMLL_ENC= =$cmll_obj\n";
|
||||
print "PROCESSOR =$processor\n";
|
||||
print "RANLIB =$ranlib\n";
|
||||
print "ARFLAGS =$arflags\n";
|
||||
@@ -2097,8 +1981,7 @@ sub print_table_entry
|
||||
(my $cc,my $cflags,my $unistd,my $thread_cflag,my $sys_id,my $lflags,
|
||||
my $bn_ops,my $cpuid_obj,my $bn_obj,my $des_obj,my $aes_obj, my $bf_obj,
|
||||
my $md5_obj,my $sha1_obj,my $cast_obj,my $rc4_obj,my $rmd160_obj,
|
||||
my $rc5_obj,my $wp_obj,my $cmll_obj,my $modes_obj, my $engines_obj,
|
||||
my $perlasm_scheme,my $dso_scheme,my $shared_target,my $shared_cflag,
|
||||
my $rc5_obj,my $wp_obj,my $cmll_obj,my $perlasm_scheme,my $dso_scheme,my $shared_target,my $shared_cflag,
|
||||
my $shared_ldflag,my $shared_extension,my $ranlib,my $arflags,my $multilib)=
|
||||
split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
|
||||
|
||||
@@ -2125,8 +2008,6 @@ sub print_table_entry
|
||||
\$rc5_obj = $rc5_obj
|
||||
\$wp_obj = $wp_obj
|
||||
\$cmll_obj = $cmll_obj
|
||||
\$modes_obj = $modes_obj
|
||||
\$engines_obj = $engines_obj
|
||||
\$perlasm_scheme = $perlasm_scheme
|
||||
\$dso_scheme = $dso_scheme
|
||||
\$shared_target= $shared_target
|
||||
|
||||
24
deps/openssl/openssl/FAQ
vendored
24
deps/openssl/openssl/FAQ
vendored
@@ -10,7 +10,6 @@ OpenSSL - Frequently Asked Questions
|
||||
* Why aren't tools like 'autoconf' and 'libtool' used?
|
||||
* What is an 'engine' version?
|
||||
* How do I check the authenticity of the OpenSSL distribution?
|
||||
* How does the versioning scheme work?
|
||||
|
||||
[LEGAL] Legal questions
|
||||
|
||||
@@ -83,11 +82,11 @@ OpenSSL - Frequently Asked Questions
|
||||
* Which is the current version of OpenSSL?
|
||||
|
||||
The current version is available from <URL: http://www.openssl.org>.
|
||||
OpenSSL 1.0.1e was released on Feb 11th, 2013.
|
||||
OpenSSL 1.0.0f was released on Jan 4th, 2012.
|
||||
|
||||
In addition to the current stable release, you can also access daily
|
||||
snapshots of the OpenSSL development version at <URL:
|
||||
ftp://ftp.openssl.org/snapshot/>, or get it by anonymous Git access.
|
||||
ftp://ftp.openssl.org/snapshot/>, or get it by anonymous CVS access.
|
||||
|
||||
|
||||
* Where is the documentation?
|
||||
@@ -109,9 +108,7 @@ In addition, you can read the most current versions at
|
||||
<URL: http://www.openssl.org/docs/>. Note that the online documents refer
|
||||
to the very latest development versions of OpenSSL and may include features
|
||||
not present in released versions. If in doubt refer to the documentation
|
||||
that came with the version of OpenSSL you are using. The pod format
|
||||
documentation is included in each OpenSSL distribution under the docs
|
||||
directory.
|
||||
that came with the version of OpenSSL you are using.
|
||||
|
||||
For information on parts of libcrypto that are not yet documented, you
|
||||
might want to read Ariel Glenn's documentation on SSLeay 0.9, OpenSSL's
|
||||
@@ -176,19 +173,6 @@ just do:
|
||||
|
||||
pgp TARBALL.asc
|
||||
|
||||
* How does the versioning scheme work?
|
||||
|
||||
After the release of OpenSSL 1.0.0 the versioning scheme changed. Letter
|
||||
releases (e.g. 1.0.1a) can only contain bug and security fixes and no
|
||||
new features. Minor releases change the last number (e.g. 1.0.2) and
|
||||
can contain new features that retain binary compatibility. Changes to
|
||||
the middle number are considered major releases and neither source nor
|
||||
binary compatibility is guaranteed.
|
||||
|
||||
Therefore the answer to the common question "when will feature X be
|
||||
backported to OpenSSL 1.0.0/0.9.8?" is "never" but it could appear
|
||||
in the next minor release.
|
||||
|
||||
[LEGAL] =======================================================================
|
||||
|
||||
* Do I need patent licenses to use OpenSSL?
|
||||
@@ -300,7 +284,7 @@ current directory in this case, but this has changed with 0.9.6a.)
|
||||
Check out the CA.pl(1) manual page. This provides a simple wrapper round
|
||||
the 'req', 'verify', 'ca' and 'pkcs12' utilities. For finer control check
|
||||
out the manual pages for the individual utilities and the certificate
|
||||
extensions documentation (in ca(1), req(1), x509v3_config(5) )
|
||||
extensions documentation (currently in doc/openssl.txt).
|
||||
|
||||
|
||||
* Why can't I create certificate requests?
|
||||
|
||||
4
deps/openssl/openssl/INSTALL.W32
vendored
4
deps/openssl/openssl/INSTALL.W32
vendored
@@ -29,7 +29,7 @@
|
||||
is required if you intend to utilize assembler modules. Note that NASM
|
||||
is now the only supported assembler.
|
||||
|
||||
If you are compiling from a tarball or a Git snapshot then the Win32 files
|
||||
If you are compiling from a tarball or a CVS snapshot then the Win32 files
|
||||
may well be not up to date. This may mean that some "tweaking" is required to
|
||||
get it all to work. See the trouble shooting section later on for if (when?)
|
||||
it goes wrong.
|
||||
@@ -257,7 +257,7 @@
|
||||
|
||||
then ms\do_XXX should not give a warning any more. However the numbers that
|
||||
get assigned by this technique may not match those that eventually get
|
||||
assigned in the Git tree: so anything linked against this version of the
|
||||
assigned in the CVS tree: so anything linked against this version of the
|
||||
library may need to be recompiled.
|
||||
|
||||
If you get errors about unresolved symbols there are several possible
|
||||
|
||||
77
deps/openssl/openssl/Makefile
vendored
77
deps/openssl/openssl/Makefile
vendored
@@ -4,16 +4,16 @@
|
||||
## Makefile for OpenSSL
|
||||
##
|
||||
|
||||
VERSION=1.0.1e
|
||||
VERSION=1.0.0f
|
||||
MAJOR=1
|
||||
MINOR=0.1
|
||||
MINOR=0.0
|
||||
SHLIB_VERSION_NUMBER=1.0.0
|
||||
SHLIB_VERSION_HISTORY=
|
||||
SHLIB_MAJOR=1
|
||||
SHLIB_MINOR=0.0
|
||||
SHLIB_EXT=
|
||||
PLATFORM=dist
|
||||
OPTIONS= no-ec_nistp_64_gcc_128 no-gmp no-jpake no-krb5 no-md2 no-rc5 no-rfc3779 no-sctp no-shared no-store no-zlib no-zlib-dynamic static-engine
|
||||
OPTIONS= no-gmp no-jpake no-krb5 no-md2 no-rc5 no-rfc3779 no-shared no-store no-zlib no-zlib-dynamic static-engine
|
||||
CONFIGURE_ARGS=dist
|
||||
SHLIB_TARGET=
|
||||
|
||||
@@ -61,7 +61,7 @@ OPENSSLDIR=/usr/local/ssl
|
||||
|
||||
CC= cc
|
||||
CFLAG= -O
|
||||
DEPFLAG= -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_STORE
|
||||
DEPFLAG= -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_STORE
|
||||
PEX_LIBS=
|
||||
EX_LIBS=
|
||||
EXE_EXT=
|
||||
@@ -71,7 +71,7 @@ RANLIB= /usr/bin/ranlib
|
||||
NM= nm
|
||||
PERL= /usr/bin/perl
|
||||
TAR= tar
|
||||
TARFLAGS= --no-recursion --record-size=10240
|
||||
TARFLAGS= --no-recursion
|
||||
MAKEDEPPROG=makedepend
|
||||
LIBDIR=lib
|
||||
|
||||
@@ -101,8 +101,6 @@ SHA1_ASM_OBJ=
|
||||
RMD160_ASM_OBJ=
|
||||
WP_ASM_OBJ= wp_block.o
|
||||
CMLL_ENC= camellia.o cmll_misc.o cmll_cbc.o
|
||||
MODES_ASM_OBJ=
|
||||
ENGINES_ASM_OBJ=
|
||||
PERLASM_SCHEME=
|
||||
|
||||
# KRB5 stuff
|
||||
@@ -113,30 +111,6 @@ LIBKRB5=
|
||||
ZLIB_INCLUDE=
|
||||
LIBZLIB=
|
||||
|
||||
# TOP level FIPS install directory.
|
||||
FIPSDIR=/usr/local/ssl/fips-2.0
|
||||
|
||||
# This is the location of fipscanister.o and friends.
|
||||
# The FIPS module build will place it $(INSTALLTOP)/lib
|
||||
# but since $(INSTALLTOP) can only take the default value
|
||||
# when the module is built it will be in /usr/local/ssl/lib
|
||||
# $(INSTALLTOP) for this build may be different so hard
|
||||
# code the path.
|
||||
|
||||
FIPSLIBDIR=
|
||||
|
||||
# The location of the library which contains fipscanister.o
|
||||
# normally it will be libcrypto unless fipsdso is set in which
|
||||
# case it will be libfips. If not compiling in FIPS mode at all
|
||||
# this is empty making it a useful test for a FIPS compile.
|
||||
|
||||
FIPSCANLIB=
|
||||
|
||||
# Shared library base address. Currently only used on Windows.
|
||||
#
|
||||
|
||||
BASEADDR=0xFB00000
|
||||
|
||||
DIRS= crypto ssl engines apps test tools
|
||||
ENGDIRS= ccgost
|
||||
SHLIBDIRS= crypto ssl
|
||||
@@ -149,7 +123,7 @@ SDIRS= \
|
||||
bn ec rsa dsa ecdsa dh ecdh dso engine \
|
||||
buffer bio stack lhash rand err \
|
||||
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \
|
||||
cms pqueue ts srp cmac
|
||||
cms pqueue ts
|
||||
# keep in mind that the above list is adjusted by ./Configure
|
||||
# according to no-xxx arguments...
|
||||
|
||||
@@ -200,7 +174,7 @@ CLEARENV= TOP= && unset TOP $${LIB+LIB} $${LIBS+LIBS} \
|
||||
$${EXHEADER+EXHEADER} $${HEADER+HEADER} \
|
||||
$${GENERAL+GENERAL} $${CFLAGS+CFLAGS} \
|
||||
$${ASFLAGS+ASFLAGS} $${AFLAGS+AFLAGS} \
|
||||
$${LDCMD+LDCMD} $${LDFLAGS+LDFLAGS} $${SCRIPTS+SCRIPTS} \
|
||||
$${LDCMD+LDCMD} $${LDFLAGS+LDFLAGS} \
|
||||
$${SHAREDCMD+SHAREDCMD} $${SHAREDFLAGS+SHAREDFLAGS} \
|
||||
$${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS}
|
||||
|
||||
@@ -232,12 +206,7 @@ BUILDENV= PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)' \
|
||||
MD5_ASM_OBJ='$(MD5_ASM_OBJ)' \
|
||||
RMD160_ASM_OBJ='$(RMD160_ASM_OBJ)' \
|
||||
WP_ASM_OBJ='$(WP_ASM_OBJ)' \
|
||||
MODES_ASM_OBJ='$(MODES_ASM_OBJ)' \
|
||||
ENGINES_ASM_OBJ='$(ENGINES_ASM_OBJ)' \
|
||||
PERLASM_SCHEME='$(PERLASM_SCHEME)' \
|
||||
FIPSLIBDIR='${FIPSLIBDIR}' \
|
||||
FIPSDIR='${FIPSDIR}' \
|
||||
FIPSCANLIB="$${FIPSCANLIB:-$(FIPSCANLIB)}" \
|
||||
THIS=$${THIS:-$@} MAKEFILE=Makefile MAKEOVERRIDES=
|
||||
# MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors,
|
||||
# which in turn eliminates ambiguities in variable treatment with -e.
|
||||
@@ -291,20 +260,9 @@ all_testapps: build_libs build_testapps
|
||||
build_testapps:
|
||||
@dir=crypto; target=testapps; $(BUILD_ONE_CMD)
|
||||
|
||||
fips_premain_dso$(EXE_EXT): libcrypto.a
|
||||
[ -z "$(FIPSCANLIB)" ] || $(CC) $(CFLAG) -Iinclude \
|
||||
-DFINGERPRINT_PREMAIN_DSO_LOAD -o $@ \
|
||||
$(FIPSLIBDIR)fips_premain.c $(FIPSLIBDIR)fipscanister.o \
|
||||
libcrypto.a $(EX_LIBS)
|
||||
|
||||
libcrypto$(SHLIB_EXT): libcrypto.a fips_premain_dso$(EXE_EXT)
|
||||
libcrypto$(SHLIB_EXT): libcrypto.a
|
||||
@if [ "$(SHLIB_TARGET)" != "" ]; then \
|
||||
if [ "$(FIPSCANLIB)" = "libcrypto" ]; then \
|
||||
FIPSLD_LIBCRYPTO=libcrypto.a ; \
|
||||
FIPSLD_CC="$(CC)"; CC=$(FIPSDIR)/bin/fipsld; \
|
||||
export CC FIPSLD_CC FIPSLD_LIBCRYPTO; \
|
||||
fi; \
|
||||
$(MAKE) -e SHLIBDIRS=crypto build-shared; \
|
||||
$(MAKE) SHLIBDIRS=crypto build-shared; \
|
||||
else \
|
||||
echo "There's no support for shared libraries on this platform" >&2; \
|
||||
exit 1; \
|
||||
@@ -366,8 +324,7 @@ libcrypto.pc: Makefile
|
||||
echo 'Description: OpenSSL cryptography library'; \
|
||||
echo 'Version: '$(VERSION); \
|
||||
echo 'Requires: '; \
|
||||
echo 'Libs: -L$${libdir} -lcrypto'; \
|
||||
echo 'Libs.private: $(EX_LIBS)'; \
|
||||
echo 'Libs: -L$${libdir} -lcrypto $(EX_LIBS)'; \
|
||||
echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc
|
||||
|
||||
libssl.pc: Makefile
|
||||
@@ -380,8 +337,7 @@ libssl.pc: Makefile
|
||||
echo 'Description: Secure Sockets Layer and cryptography libraries'; \
|
||||
echo 'Version: '$(VERSION); \
|
||||
echo 'Requires: '; \
|
||||
echo 'Libs: -L$${libdir} -lssl -lcrypto'; \
|
||||
echo 'Libs.private: $(EX_LIBS)'; \
|
||||
echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
|
||||
echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc
|
||||
|
||||
openssl.pc: Makefile
|
||||
@@ -394,8 +350,7 @@ openssl.pc: Makefile
|
||||
echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \
|
||||
echo 'Version: '$(VERSION); \
|
||||
echo 'Requires: '; \
|
||||
echo 'Libs: -L$${libdir} -lssl -lcrypto'; \
|
||||
echo 'Libs.private: $(EX_LIBS)'; \
|
||||
echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
|
||||
echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > openssl.pc
|
||||
|
||||
Makefile: Makefile.org Configure config
|
||||
@@ -404,7 +359,7 @@ Makefile: Makefile.org Configure config
|
||||
@false
|
||||
|
||||
libclean:
|
||||
rm -f *.map *.so *.so.* *.dylib *.dll engines/*.so engines/*.dll engines/*.dylib *.a engines/*.a */lib */*/lib
|
||||
rm -f *.map *.so *.so.* *.dll engines/*.so engines/*.dll *.a engines/*.a */lib */*/lib
|
||||
|
||||
clean: libclean
|
||||
rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c
|
||||
@@ -446,7 +401,7 @@ rehash.time: certs apps
|
||||
[ -x "apps/openssl.exe" ] && OPENSSL="apps/openssl.exe" || :; \
|
||||
OPENSSL_DEBUG_MEMORY=on; \
|
||||
export OPENSSL OPENSSL_DEBUG_MEMORY; \
|
||||
$(PERL) tools/c_rehash certs/demo) && \
|
||||
$(PERL) tools/c_rehash certs) && \
|
||||
touch rehash.time; \
|
||||
else :; fi
|
||||
|
||||
@@ -471,9 +426,9 @@ tags:
|
||||
find . -name '[^.]*.[ch]' | xargs etags -a
|
||||
|
||||
errors:
|
||||
$(PERL) util/ck_errf.pl -strict */*.c */*/*.c
|
||||
$(PERL) util/mkerr.pl -recurse -write
|
||||
(cd engines; $(MAKE) PERL=$(PERL) errors)
|
||||
$(PERL) util/ck_errf.pl */*.c */*/*.c
|
||||
|
||||
stacks:
|
||||
$(PERL) util/mkstack.pl -write
|
||||
@@ -556,7 +511,7 @@ install_sw:
|
||||
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
|
||||
done;
|
||||
@set -e; target=install; $(RECURSIVE_BUILD_CMD)
|
||||
@set -e; liblist="$(LIBS)"; for i in $$liblist ;\
|
||||
@set -e; for i in $(LIBS) ;\
|
||||
do \
|
||||
if [ -f "$$i" ]; then \
|
||||
( echo installing $$i; \
|
||||
|
||||
69
deps/openssl/openssl/Makefile.org
vendored
69
deps/openssl/openssl/Makefile.org
vendored
@@ -69,7 +69,7 @@ RANLIB= ranlib
|
||||
NM= nm
|
||||
PERL= perl
|
||||
TAR= tar
|
||||
TARFLAGS= --no-recursion --record-size=10240
|
||||
TARFLAGS= --no-recursion
|
||||
MAKEDEPPROG=makedepend
|
||||
LIBDIR=lib
|
||||
|
||||
@@ -99,8 +99,6 @@ SHA1_ASM_OBJ=
|
||||
RMD160_ASM_OBJ=
|
||||
WP_ASM_OBJ=
|
||||
CMLL_ENC=
|
||||
MODES_ASM_OBJ=
|
||||
ENGINES_ASM_OBJ=
|
||||
PERLASM_SCHEME=
|
||||
|
||||
# KRB5 stuff
|
||||
@@ -111,30 +109,6 @@ LIBKRB5=
|
||||
ZLIB_INCLUDE=
|
||||
LIBZLIB=
|
||||
|
||||
# TOP level FIPS install directory.
|
||||
FIPSDIR=
|
||||
|
||||
# This is the location of fipscanister.o and friends.
|
||||
# The FIPS module build will place it $(INSTALLTOP)/lib
|
||||
# but since $(INSTALLTOP) can only take the default value
|
||||
# when the module is built it will be in /usr/local/ssl/lib
|
||||
# $(INSTALLTOP) for this build may be different so hard
|
||||
# code the path.
|
||||
|
||||
FIPSLIBDIR=
|
||||
|
||||
# The location of the library which contains fipscanister.o
|
||||
# normally it will be libcrypto unless fipsdso is set in which
|
||||
# case it will be libfips. If not compiling in FIPS mode at all
|
||||
# this is empty making it a useful test for a FIPS compile.
|
||||
|
||||
FIPSCANLIB=
|
||||
|
||||
# Shared library base address. Currently only used on Windows.
|
||||
#
|
||||
|
||||
BASEADDR=
|
||||
|
||||
DIRS= crypto ssl engines apps test tools
|
||||
ENGDIRS= ccgost
|
||||
SHLIBDIRS= crypto ssl
|
||||
@@ -147,7 +121,7 @@ SDIRS= \
|
||||
bn ec rsa dsa ecdsa dh ecdh dso engine \
|
||||
buffer bio stack lhash rand err \
|
||||
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \
|
||||
cms pqueue ts jpake srp store cmac
|
||||
cms pqueue ts jpake store
|
||||
# keep in mind that the above list is adjusted by ./Configure
|
||||
# according to no-xxx arguments...
|
||||
|
||||
@@ -198,7 +172,7 @@ CLEARENV= TOP= && unset TOP $${LIB+LIB} $${LIBS+LIBS} \
|
||||
$${EXHEADER+EXHEADER} $${HEADER+HEADER} \
|
||||
$${GENERAL+GENERAL} $${CFLAGS+CFLAGS} \
|
||||
$${ASFLAGS+ASFLAGS} $${AFLAGS+AFLAGS} \
|
||||
$${LDCMD+LDCMD} $${LDFLAGS+LDFLAGS} $${SCRIPTS+SCRIPTS} \
|
||||
$${LDCMD+LDCMD} $${LDFLAGS+LDFLAGS} \
|
||||
$${SHAREDCMD+SHAREDCMD} $${SHAREDFLAGS+SHAREDFLAGS} \
|
||||
$${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS}
|
||||
|
||||
@@ -230,12 +204,7 @@ BUILDENV= PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)' \
|
||||
MD5_ASM_OBJ='$(MD5_ASM_OBJ)' \
|
||||
RMD160_ASM_OBJ='$(RMD160_ASM_OBJ)' \
|
||||
WP_ASM_OBJ='$(WP_ASM_OBJ)' \
|
||||
MODES_ASM_OBJ='$(MODES_ASM_OBJ)' \
|
||||
ENGINES_ASM_OBJ='$(ENGINES_ASM_OBJ)' \
|
||||
PERLASM_SCHEME='$(PERLASM_SCHEME)' \
|
||||
FIPSLIBDIR='${FIPSLIBDIR}' \
|
||||
FIPSDIR='${FIPSDIR}' \
|
||||
FIPSCANLIB="$${FIPSCANLIB:-$(FIPSCANLIB)}" \
|
||||
THIS=$${THIS:-$@} MAKEFILE=Makefile MAKEOVERRIDES=
|
||||
# MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors,
|
||||
# which in turn eliminates ambiguities in variable treatment with -e.
|
||||
@@ -289,20 +258,9 @@ all_testapps: build_libs build_testapps
|
||||
build_testapps:
|
||||
@dir=crypto; target=testapps; $(BUILD_ONE_CMD)
|
||||
|
||||
fips_premain_dso$(EXE_EXT): libcrypto.a
|
||||
[ -z "$(FIPSCANLIB)" ] || $(CC) $(CFLAG) -Iinclude \
|
||||
-DFINGERPRINT_PREMAIN_DSO_LOAD -o $@ \
|
||||
$(FIPSLIBDIR)fips_premain.c $(FIPSLIBDIR)fipscanister.o \
|
||||
libcrypto.a $(EX_LIBS)
|
||||
|
||||
libcrypto$(SHLIB_EXT): libcrypto.a fips_premain_dso$(EXE_EXT)
|
||||
libcrypto$(SHLIB_EXT): libcrypto.a
|
||||
@if [ "$(SHLIB_TARGET)" != "" ]; then \
|
||||
if [ "$(FIPSCANLIB)" = "libcrypto" ]; then \
|
||||
FIPSLD_LIBCRYPTO=libcrypto.a ; \
|
||||
FIPSLD_CC="$(CC)"; CC=$(FIPSDIR)/bin/fipsld; \
|
||||
export CC FIPSLD_CC FIPSLD_LIBCRYPTO; \
|
||||
fi; \
|
||||
$(MAKE) -e SHLIBDIRS=crypto build-shared; \
|
||||
$(MAKE) SHLIBDIRS=crypto build-shared; \
|
||||
else \
|
||||
echo "There's no support for shared libraries on this platform" >&2; \
|
||||
exit 1; \
|
||||
@@ -364,8 +322,7 @@ libcrypto.pc: Makefile
|
||||
echo 'Description: OpenSSL cryptography library'; \
|
||||
echo 'Version: '$(VERSION); \
|
||||
echo 'Requires: '; \
|
||||
echo 'Libs: -L$${libdir} -lcrypto'; \
|
||||
echo 'Libs.private: $(EX_LIBS)'; \
|
||||
echo 'Libs: -L$${libdir} -lcrypto $(EX_LIBS)'; \
|
||||
echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc
|
||||
|
||||
libssl.pc: Makefile
|
||||
@@ -378,8 +335,7 @@ libssl.pc: Makefile
|
||||
echo 'Description: Secure Sockets Layer and cryptography libraries'; \
|
||||
echo 'Version: '$(VERSION); \
|
||||
echo 'Requires: '; \
|
||||
echo 'Libs: -L$${libdir} -lssl -lcrypto'; \
|
||||
echo 'Libs.private: $(EX_LIBS)'; \
|
||||
echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
|
||||
echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc
|
||||
|
||||
openssl.pc: Makefile
|
||||
@@ -392,8 +348,7 @@ openssl.pc: Makefile
|
||||
echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \
|
||||
echo 'Version: '$(VERSION); \
|
||||
echo 'Requires: '; \
|
||||
echo 'Libs: -L$${libdir} -lssl -lcrypto'; \
|
||||
echo 'Libs.private: $(EX_LIBS)'; \
|
||||
echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
|
||||
echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > openssl.pc
|
||||
|
||||
Makefile: Makefile.org Configure config
|
||||
@@ -402,7 +357,7 @@ Makefile: Makefile.org Configure config
|
||||
@false
|
||||
|
||||
libclean:
|
||||
rm -f *.map *.so *.so.* *.dylib *.dll engines/*.so engines/*.dll engines/*.dylib *.a engines/*.a */lib */*/lib
|
||||
rm -f *.map *.so *.so.* *.dll engines/*.so engines/*.dll *.a engines/*.a */lib */*/lib
|
||||
|
||||
clean: libclean
|
||||
rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c
|
||||
@@ -444,7 +399,7 @@ rehash.time: certs apps
|
||||
[ -x "apps/openssl.exe" ] && OPENSSL="apps/openssl.exe" || :; \
|
||||
OPENSSL_DEBUG_MEMORY=on; \
|
||||
export OPENSSL OPENSSL_DEBUG_MEMORY; \
|
||||
$(PERL) tools/c_rehash certs/demo) && \
|
||||
$(PERL) tools/c_rehash certs) && \
|
||||
touch rehash.time; \
|
||||
else :; fi
|
||||
|
||||
@@ -469,9 +424,9 @@ tags:
|
||||
find . -name '[^.]*.[ch]' | xargs etags -a
|
||||
|
||||
errors:
|
||||
$(PERL) util/ck_errf.pl -strict */*.c */*/*.c
|
||||
$(PERL) util/mkerr.pl -recurse -write
|
||||
(cd engines; $(MAKE) PERL=$(PERL) errors)
|
||||
$(PERL) util/ck_errf.pl */*.c */*/*.c
|
||||
|
||||
stacks:
|
||||
$(PERL) util/mkstack.pl -write
|
||||
@@ -554,7 +509,7 @@ install_sw:
|
||||
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
|
||||
done;
|
||||
@set -e; target=install; $(RECURSIVE_BUILD_CMD)
|
||||
@set -e; liblist="$(LIBS)"; for i in $$liblist ;\
|
||||
@set -e; for i in $(LIBS) ;\
|
||||
do \
|
||||
if [ -f "$$i" ]; then \
|
||||
( echo installing $$i; \
|
||||
|
||||
52
deps/openssl/openssl/NEWS
vendored
52
deps/openssl/openssl/NEWS
vendored
@@ -5,58 +5,6 @@
|
||||
This file gives a brief overview of the major changes between each OpenSSL
|
||||
release. For more details please read the CHANGES file.
|
||||
|
||||
Major changes between OpenSSL 1.0.1d and OpenSSL 1.0.1e:
|
||||
|
||||
o Corrected fix for CVE-2013-0169
|
||||
|
||||
Major changes between OpenSSL 1.0.1c and OpenSSL 1.0.1d:
|
||||
|
||||
o Fix renegotiation in TLS 1.1, 1.2 by using the correct TLS version.
|
||||
o Include the fips configuration module.
|
||||
o Fix OCSP bad key DoS attack CVE-2013-0166
|
||||
o Fix for SSL/TLS/DTLS CBC plaintext recovery attack CVE-2013-0169
|
||||
o Fix for TLS AESNI record handling flaw CVE-2012-2686
|
||||
|
||||
Major changes between OpenSSL 1.0.1b and OpenSSL 1.0.1c:
|
||||
|
||||
o Fix TLS/DTLS record length checking bug CVE-2012-2333
|
||||
o Don't attempt to use non-FIPS composite ciphers in FIPS mode.
|
||||
|
||||
Major changes between OpenSSL 1.0.1a and OpenSSL 1.0.1b:
|
||||
|
||||
o Fix compilation error on non-x86 platforms.
|
||||
o Make FIPS capable OpenSSL ciphers work in non-FIPS mode.
|
||||
o Fix SSL_OP_NO_TLSv1_1 clash with SSL_OP_ALL in OpenSSL 1.0.0
|
||||
|
||||
Major changes between OpenSSL 1.0.1 and OpenSSL 1.0.1a:
|
||||
|
||||
o Fix for ASN1 overflow bug CVE-2012-2110
|
||||
o Workarounds for some servers that hang on long client hellos.
|
||||
o Fix SEGV in AES code.
|
||||
|
||||
Major changes between OpenSSL 1.0.0h and OpenSSL 1.0.1:
|
||||
|
||||
o TLS/DTLS heartbeat support.
|
||||
o SCTP support.
|
||||
o RFC 5705 TLS key material exporter.
|
||||
o RFC 5764 DTLS-SRTP negotiation.
|
||||
o Next Protocol Negotiation.
|
||||
o PSS signatures in certificates, requests and CRLs.
|
||||
o Support for password based recipient info for CMS.
|
||||
o Support TLS v1.2 and TLS v1.1.
|
||||
o Preliminary FIPS capability for unvalidated 2.0 FIPS module.
|
||||
o SRP support.
|
||||
|
||||
Major changes between OpenSSL 1.0.0g and OpenSSL 1.0.0h:
|
||||
|
||||
o Fix for CMS/PKCS#7 MMA CVE-2012-0884
|
||||
o Corrected fix for CVE-2011-4619
|
||||
o Various DTLS fixes.
|
||||
|
||||
Major changes between OpenSSL 1.0.0f and OpenSSL 1.0.0g:
|
||||
|
||||
o Fix for DTLS DoS issue CVE-2012-0050
|
||||
|
||||
Major changes between OpenSSL 1.0.0e and OpenSSL 1.0.0f:
|
||||
|
||||
o Fix for DTLS plaintext recovery attack CVE-2011-4108
|
||||
|
||||
14
deps/openssl/openssl/PROBLEMS
vendored
14
deps/openssl/openssl/PROBLEMS
vendored
@@ -197,17 +197,3 @@ reconfigure with additional no-sse2 [or 386] option passed to ./config.
|
||||
We don't have framework to associate -ldl with no-dso, therefore the only
|
||||
way is to edit Makefile right after ./config no-dso and remove -ldl from
|
||||
EX_LIBS line.
|
||||
|
||||
* hpux-parisc2-cc no-asm build fails with SEGV in ECDSA/DH.
|
||||
|
||||
Compiler bug, presumably at particular patch level. Remaining
|
||||
hpux*-parisc*-cc configurations can be affected too. Drop optimization
|
||||
level to +O2 when compiling bn_nist.o.
|
||||
|
||||
* solaris64-sparcv9-cc link failure
|
||||
|
||||
Solaris 8 ar can fail to maintain symbol table in .a, which results in
|
||||
link failures. Apply 109147-09 or later or modify Makefile generated
|
||||
by ./Configure solaris64-sparcv9-cc and replace RANLIB assignment with
|
||||
|
||||
RANLIB= /usr/ccs/bin/ar rs
|
||||
|
||||
4
deps/openssl/openssl/README
vendored
4
deps/openssl/openssl/README
vendored
@@ -1,5 +1,5 @@
|
||||
|
||||
OpenSSL 1.0.1e 11 Feb 2013
|
||||
OpenSSL 1.0.0f 4 Jan 2012
|
||||
|
||||
Copyright (c) 1998-2011 The OpenSSL Project
|
||||
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
|
||||
@@ -190,7 +190,7 @@
|
||||
reason as to why that feature isn't implemented.
|
||||
|
||||
Patches should be as up to date as possible, preferably relative to the
|
||||
current Git or the last snapshot. They should follow the coding style of
|
||||
current CVS or the last snapshot. They should follow the coding style of
|
||||
OpenSSL and compile without warnings. Some of the core team developer targets
|
||||
can be used for testing purposes, (debug-steve64, debug-geoff etc). OpenSSL
|
||||
compiles on many varied platforms: try to ensure you only use portable
|
||||
|
||||
0
deps/openssl/openssl/VMS/install-vms.com
vendored
Executable file → Normal file
0
deps/openssl/openssl/VMS/install-vms.com
vendored
Executable file → Normal file
0
deps/openssl/openssl/VMS/openssl_startup.com
vendored
Executable file → Normal file
0
deps/openssl/openssl/VMS/openssl_startup.com
vendored
Executable file → Normal file
0
deps/openssl/openssl/VMS/openssl_undo.com
vendored
Executable file → Normal file
0
deps/openssl/openssl/VMS/openssl_undo.com
vendored
Executable file → Normal file
102
deps/openssl/openssl/config
vendored
102
deps/openssl/openssl/config
vendored
@@ -370,10 +370,6 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
|
||||
NONSTOP_KERNEL*)
|
||||
echo "nsr-tandem-nsk"; exit 0;
|
||||
;;
|
||||
|
||||
vxworks*)
|
||||
echo "${MACHINE}-whatever-vxworks"; exit 0;
|
||||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
@@ -411,18 +407,23 @@ exit 0
|
||||
# this is where the translation occurs into SSLeay terms
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
GCCVER=`(gcc -dumpversion) 2>/dev/null`
|
||||
if [ "$GCCVER" != "" ]; then
|
||||
# then strip off whatever prefix egcs prepends the number with...
|
||||
# Hopefully, this will work for any future prefixes as well.
|
||||
GCCVER=`echo $GCCVER | LC_ALL=C sed 's/^[a-zA-Z]*\-//'`
|
||||
# Since gcc 3.1 gcc --version behaviour has changed. gcc -dumpversion
|
||||
# does give us what we want though, so we use that. We just just the
|
||||
# major and minor version numbers.
|
||||
# peak single digit before and after first dot, e.g. 2.95.1 gives 29
|
||||
GCCVER=`echo $GCCVER | sed 's/\([0-9]\)\.\([0-9]\).*/\1\2/'`
|
||||
fi
|
||||
|
||||
# Only set CC if not supplied already
|
||||
if [ -z "$CROSS_COMPILE$CC" ]; then
|
||||
GCCVER=`sh -c "gcc -dumpversion" 2>/dev/null`
|
||||
if [ -z "$CC" ]; then
|
||||
# figure out if gcc is available and if so we use it otherwise
|
||||
# we fallback to whatever cc does on the system
|
||||
if [ "$GCCVER" != "" ]; then
|
||||
# then strip off whatever prefix egcs prepends the number with...
|
||||
# Hopefully, this will work for any future prefixes as well.
|
||||
GCCVER=`echo $GCCVER | LC_ALL=C sed 's/^[a-zA-Z]*\-//'`
|
||||
# Since gcc 3.1 gcc --version behaviour has changed. gcc -dumpversion
|
||||
# does give us what we want though, so we use that. We just just the
|
||||
# major and minor version numbers.
|
||||
# peak single digit before and after first dot, e.g. 2.95.1 gives 29
|
||||
GCCVER=`echo $GCCVER | sed 's/\([0-9]\)\.\([0-9]\).*/\1\2/'`
|
||||
CC=gcc
|
||||
else
|
||||
CC=cc
|
||||
@@ -538,7 +539,7 @@ case "$GUESSOS" in
|
||||
ppc-apple-rhapsody) OUT="rhapsody-ppc-cc" ;;
|
||||
ppc-apple-darwin*)
|
||||
ISA64=`(sysctl -n hw.optional.64bitops) 2>/dev/null`
|
||||
if [ "$ISA64" = "1" -a -z "$KERNEL_BITS" ]; then
|
||||
if [ "$ISA64" = "1" ]; then
|
||||
echo "WARNING! If you wish to build 64-bit library, then you have to"
|
||||
echo " invoke './Configure darwin64-ppc-cc' *manually*."
|
||||
if [ "$TEST" = "false" -a -t 1 ]; then
|
||||
@@ -546,14 +547,10 @@ case "$GUESSOS" in
|
||||
(trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
|
||||
fi
|
||||
fi
|
||||
if [ "$ISA64" = "1" -a "$KERNEL_BITS" = "64" ]; then
|
||||
OUT="darwin64-ppc-cc"
|
||||
else
|
||||
OUT="darwin-ppc-cc"
|
||||
fi ;;
|
||||
OUT="darwin-ppc-cc" ;;
|
||||
i?86-apple-darwin*)
|
||||
ISA64=`(sysctl -n hw.optional.x86_64) 2>/dev/null`
|
||||
if [ "$ISA64" = "1" -a -z "$KERNEL_BITS" ]; then
|
||||
if [ "$ISA64" = "1" ]; then
|
||||
echo "WARNING! If you wish to build 64-bit library, then you have to"
|
||||
echo " invoke './Configure darwin64-x86_64-cc' *manually*."
|
||||
if [ "$TEST" = "false" -a -t 1 ]; then
|
||||
@@ -561,17 +558,7 @@ case "$GUESSOS" in
|
||||
(trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
|
||||
fi
|
||||
fi
|
||||
if [ "$ISA64" = "1" -a "$KERNEL_BITS" = "64" ]; then
|
||||
OUT="darwin64-x86_64-cc"
|
||||
else
|
||||
OUT="darwin-i386-cc"
|
||||
fi ;;
|
||||
armv6+7-*-iphoneos)
|
||||
options="$options -arch%20armv6 -arch%20armv7"
|
||||
OUT="iphoneos-cross" ;;
|
||||
*-*-iphoneos)
|
||||
options="$options -arch%20${MACHINE}"
|
||||
OUT="iphoneos-cross" ;;
|
||||
OUT="darwin-i386-cc" ;;
|
||||
alpha-*-linux2)
|
||||
ISA=`awk '/cpu model/{print$4;exit(0);}' /proc/cpuinfo`
|
||||
case ${ISA:-generic} in
|
||||
@@ -596,11 +583,6 @@ case "$GUESSOS" in
|
||||
OUT="linux-ppc"
|
||||
;;
|
||||
ppc-*-linux2) OUT="linux-ppc" ;;
|
||||
ppc60x-*-vxworks*) OUT="vxworks-ppc60x" ;;
|
||||
ppcgen-*-vxworks*) OUT="vxworks-ppcgen" ;;
|
||||
pentium-*-vxworks*) OUT="vxworks-pentium" ;;
|
||||
simlinux-*-vxworks*) OUT="vxworks-simlinux" ;;
|
||||
mips-*-vxworks*) OUT="vxworks-mips";;
|
||||
ia64-*-linux?) OUT="linux-ia64" ;;
|
||||
sparc64-*-linux2)
|
||||
echo "WARNING! If you *know* that your GNU C supports 64-bit/V9 ABI"
|
||||
@@ -642,24 +624,12 @@ case "$GUESSOS" in
|
||||
options="$options -DB_ENDIAN -mschedule=$CPUSCHEDULE -march=$CPUARCH"
|
||||
OUT="linux-generic32" ;;
|
||||
armv[1-3]*-*-linux2) OUT="linux-generic32" ;;
|
||||
armv[7-9]*-*-linux2) OUT="linux-armv4"; options="$options -march=armv7-a" ;;
|
||||
arm*-*-linux2) OUT="linux-armv4" ;;
|
||||
sh*b-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;;
|
||||
sh*-*-linux2) OUT="linux-generic32"; options="$options -DL_ENDIAN" ;;
|
||||
m68k*-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;;
|
||||
s390-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;;
|
||||
s390x-*-linux2)
|
||||
# To be uncommented when glibc bug is fixed, see Configure...
|
||||
#if egrep -e '^features.* highgprs' /proc/cpuinfo >/dev/null ; then
|
||||
# echo "WARNING! If you wish to build \"highgprs\" 32-bit library, then you"
|
||||
# echo " have to invoke './Configure linux32-s390x' *manually*."
|
||||
# if [ "$TEST" = "false" -a -t -1 ]; then
|
||||
# echo " You have about 5 seconds to press Ctrl-C to abort."
|
||||
# (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
|
||||
# fi
|
||||
#fi
|
||||
OUT="linux64-s390x"
|
||||
;;
|
||||
s390x-*-linux2) OUT="linux-s390x" ;;
|
||||
x86_64-*-linux?) OUT="linux-x86_64" ;;
|
||||
*86-*-linux2) OUT="linux-elf"
|
||||
if [ "$GCCVER" -gt 28 ]; then
|
||||
@@ -678,7 +648,7 @@ case "$GUESSOS" in
|
||||
sun4[uv]*-*-solaris2)
|
||||
OUT="solaris-sparcv9-$CC"
|
||||
ISA64=`(isalist) 2>/dev/null | grep sparcv9`
|
||||
if [ "$ISA64" != "" -a "$KERNEL_BITS" = "" ]; then
|
||||
if [ "$ISA64" != "" ]; then
|
||||
if [ "$CC" = "cc" -a $CCVER -ge 50 ]; then
|
||||
echo "WARNING! If you wish to build 64-bit library, then you have to"
|
||||
echo " invoke './Configure solaris64-sparcv9-cc' *manually*."
|
||||
@@ -708,16 +678,13 @@ case "$GUESSOS" in
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if [ "$ISA64" != "" -a "$KERNEL_BITS" = "64" ]; then
|
||||
OUT="solaris64-sparcv9-$CC"
|
||||
fi
|
||||
;;
|
||||
sun4m-*-solaris2) OUT="solaris-sparcv8-$CC" ;;
|
||||
sun4d-*-solaris2) OUT="solaris-sparcv8-$CC" ;;
|
||||
sun4*-*-solaris2) OUT="solaris-sparcv7-$CC" ;;
|
||||
*86*-*-solaris2)
|
||||
ISA64=`(isalist) 2>/dev/null | grep amd64`
|
||||
if [ "$ISA64" != "" -a ${KERNEL_BITS:-64} -eq 64 ]; then
|
||||
if [ "$ISA64" != "" ]; then
|
||||
OUT="solaris64-x86_64-$CC"
|
||||
else
|
||||
OUT="solaris-x86-$CC"
|
||||
@@ -769,17 +736,20 @@ case "$GUESSOS" in
|
||||
if [ $CC = "gcc" -a $GCC_BITS = "64" ]; then
|
||||
OUT="hpux64-parisc2-gcc"
|
||||
fi
|
||||
[ "$KERNEL_BITS" ] || KERNEL_BITS=`(getconf KERNEL_BITS) 2>/dev/null`
|
||||
KERNEL_BITS=`(getconf KERNEL_BITS) 2>/dev/null`
|
||||
KERNEL_BITS=${KERNEL_BITS:-32}
|
||||
CPU_VERSION=`(getconf CPU_VERSION) 2>/dev/null`
|
||||
CPU_VERSION=${CPU_VERSION:-0}
|
||||
# See <sys/unistd.h> for further info on CPU_VERSION.
|
||||
if [ $CPU_VERSION -ge 768 ]; then # IA-64 CPU
|
||||
if [ $KERNEL_BITS -eq 64 -a "$CC" = "cc" ]; then
|
||||
OUT="hpux64-ia64-cc"
|
||||
else
|
||||
OUT="hpux-ia64-cc"
|
||||
fi
|
||||
echo "WARNING! 64-bit ABI is the default configured ABI on HP-UXi."
|
||||
echo " If you wish to build 32-bit library, the you have to"
|
||||
echo " invoke './Configure hpux-ia64-cc' *manually*."
|
||||
if [ "$TEST" = "false" -a -t 1 ]; then
|
||||
echo " You have about 5 seconds to press Ctrl-C to abort."
|
||||
(trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
|
||||
fi
|
||||
OUT="hpux64-ia64-cc"
|
||||
elif [ $CPU_VERSION -ge 532 ]; then # PA-RISC 2.x CPU
|
||||
OUT=${OUT:-"hpux-parisc2-${CC}"}
|
||||
if [ $KERNEL_BITS -eq 64 -a "$CC" = "cc" ]; then
|
||||
@@ -800,7 +770,7 @@ case "$GUESSOS" in
|
||||
options="$options -D_REENTRANT" ;;
|
||||
*-hpux) OUT="hpux-parisc-$CC" ;;
|
||||
*-aix)
|
||||
[ "$KERNEL_BITS" ] || KERNEL_BITS=`(getconf KERNEL_BITMODE) 2>/dev/null`
|
||||
KERNEL_BITS=`(getconf KERNEL_BITMODE) 2>/dev/null`
|
||||
KERNEL_BITS=${KERNEL_BITS:-32}
|
||||
OBJECT_MODE=${OBJECT_MODE:-32}
|
||||
if [ "$CC" = "gcc" ]; then
|
||||
@@ -840,8 +810,6 @@ case "$GUESSOS" in
|
||||
beos-*) OUT="$GUESSOS" ;;
|
||||
x86pc-*-qnx6) OUT="QNX6-i386" ;;
|
||||
*-*-qnx6) OUT="QNX6" ;;
|
||||
x86-*-android|i?86-*-android) OUT="android-x86" ;;
|
||||
armv[7-9]*-*-android) OUT="android-armv7" ;;
|
||||
*) OUT=`echo $GUESSOS | awk -F- '{print $3}'`;;
|
||||
esac
|
||||
|
||||
@@ -857,11 +825,9 @@ esac
|
||||
# options="$options -DATALLA"
|
||||
#fi
|
||||
|
||||
if expr "$options" : '.*no\-asm' > /dev/null; then :; else
|
||||
sh -c "$CROSS_COMPILE${CC:-gcc} -Wa,--help -c -o /tmp/null.$$.o -x assembler /dev/null && rm /tmp/null.$$.o" 2>&1 | \
|
||||
grep \\--noexecstack >/dev/null && \
|
||||
($CC -Wa,--help -c -o /dev/null -x assembler /dev/null 2>&1 | \
|
||||
grep \\--noexecstack) 2>&1 > /dev/null && \
|
||||
options="$options -Wa,--noexecstack"
|
||||
fi
|
||||
|
||||
# gcc < 2.8 does not support -march=ultrasparc
|
||||
if [ "$OUT" = solaris-sparcv9-gcc -a $GCCVER -lt 28 ]
|
||||
|
||||
34
deps/openssl/openssl/crypto/Makefile
vendored
34
deps/openssl/openssl/crypto/Makefile
vendored
@@ -7,7 +7,7 @@ TOP= ..
|
||||
CC= cc
|
||||
INCLUDE= -I. -I$(TOP) -I../include $(ZLIB_INCLUDE)
|
||||
# INCLUDES targets sudbirs!
|
||||
INCLUDES= -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include $(ZLIB_INCLUDE)
|
||||
INCLUDES= -I.. -I../.. -I../asn1 -I../evp -I../../include $(ZLIB_INCLUDE)
|
||||
CFLAG= -g
|
||||
MAKEDEPPROG= makedepend
|
||||
MAKEDEPEND= $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
|
||||
@@ -34,10 +34,8 @@ GENERAL=Makefile README crypto-lib.com install.com
|
||||
|
||||
LIB= $(TOP)/libcrypto.a
|
||||
SHARED_LIB= libcrypto$(SHLIB_EXT)
|
||||
LIBSRC= cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c cpt_err.c \
|
||||
ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fips.c o_init.c fips_ers.c
|
||||
LIBOBJ= cryptlib.o mem.o mem_dbg.o cversion.o ex_data.o cpt_err.o ebcdic.o \
|
||||
uid.o o_time.o o_str.o o_dir.o o_fips.o o_init.o fips_ers.o $(CPUID_OBJ)
|
||||
LIBSRC= cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c
|
||||
LIBOBJ= cryptlib.o mem.o mem_dbg.o cversion.o ex_data.o cpt_err.o ebcdic.o uid.o o_time.o o_str.o o_dir.o $(CPUID_OBJ)
|
||||
|
||||
SRC= $(LIBSRC)
|
||||
|
||||
@@ -69,13 +67,14 @@ applink.o: $(TOP)/ms/applink.c
|
||||
uplink.o: $(TOP)/ms/uplink.c applink.o
|
||||
$(CC) $(CFLAGS) -c -o $@ $(TOP)/ms/uplink.c
|
||||
|
||||
uplink-x86.s: $(TOP)/ms/uplink-x86.pl
|
||||
$(PERL) $(TOP)/ms/uplink-x86.pl $(PERLASM_SCHEME) > $@
|
||||
uplink-cof.s: $(TOP)/ms/uplink.pl
|
||||
$(PERL) $(TOP)/ms/uplink.pl coff > $@
|
||||
|
||||
x86_64cpuid.s: x86_64cpuid.pl; $(PERL) x86_64cpuid.pl $(PERLASM_SCHEME) > $@
|
||||
ia64cpuid.s: ia64cpuid.S; $(CC) $(CFLAGS) -E ia64cpuid.S > $@
|
||||
x86_64cpuid.s: x86_64cpuid.pl
|
||||
$(PERL) x86_64cpuid.pl $(PERLASM_SCHEME) > $@
|
||||
ia64cpuid.s: ia64cpuid.S
|
||||
$(CC) $(CFLAGS) -E ia64cpuid.S > $@
|
||||
ppccpuid.s: ppccpuid.pl; $(PERL) ppccpuid.pl $(PERLASM_SCHEME) $@
|
||||
pariscid.s: pariscid.pl; $(PERL) pariscid.pl $(PERLASM_SCHEME) $@
|
||||
alphacpuid.s: alphacpuid.pl
|
||||
$(PERL) $< | $(CC) -E - | tee $@ > /dev/null
|
||||
|
||||
@@ -103,7 +102,6 @@ lib: $(LIB)
|
||||
@touch lib
|
||||
$(LIB): $(LIBOBJ)
|
||||
$(AR) $(LIB) $(LIBOBJ)
|
||||
[ -z "$(FIPSLIBDIR)" ] || $(AR) $(LIB) $(FIPSLIBDIR)fipscanister.o
|
||||
$(RANLIB) $(LIB) || echo Never mind.
|
||||
|
||||
shared: buildinf.h lib subdirs
|
||||
@@ -173,7 +171,6 @@ ex_data.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||
ex_data.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
|
||||
ex_data.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
|
||||
ex_data.o: ex_data.c
|
||||
fips_ers.o: ../include/openssl/opensslconf.h fips_ers.c
|
||||
mem.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
|
||||
mem.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
|
||||
mem.o: ../include/openssl/err.h ../include/openssl/lhash.h
|
||||
@@ -194,19 +191,6 @@ mem_dbg.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
|
||||
mem_dbg.o: mem_dbg.c
|
||||
o_dir.o: ../e_os.h ../include/openssl/e_os2.h ../include/openssl/opensslconf.h
|
||||
o_dir.o: LPdir_unix.c o_dir.c o_dir.h
|
||||
o_fips.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
|
||||
o_fips.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
|
||||
o_fips.o: ../include/openssl/err.h ../include/openssl/lhash.h
|
||||
o_fips.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||
o_fips.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
|
||||
o_fips.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
|
||||
o_fips.o: o_fips.c
|
||||
o_init.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/crypto.h
|
||||
o_init.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
||||
o_init.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h
|
||||
o_init.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
|
||||
o_init.o: ../include/openssl/safestack.h ../include/openssl/stack.h
|
||||
o_init.o: ../include/openssl/symhacks.h o_init.c
|
||||
o_str.o: ../e_os.h ../include/openssl/e_os2.h ../include/openssl/opensslconf.h
|
||||
o_str.o: o_str.c o_str.h
|
||||
o_time.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h o_time.c
|
||||
|
||||
29
deps/openssl/openssl/crypto/aes/Makefile
vendored
29
deps/openssl/openssl/crypto/aes/Makefile
vendored
@@ -50,21 +50,9 @@ aes-ia64.s: asm/aes-ia64.S
|
||||
|
||||
aes-586.s: asm/aes-586.pl ../perlasm/x86asm.pl
|
||||
$(PERL) asm/aes-586.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@
|
||||
vpaes-x86.s: asm/vpaes-x86.pl ../perlasm/x86asm.pl
|
||||
$(PERL) asm/vpaes-x86.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@
|
||||
aesni-x86.s: asm/aesni-x86.pl ../perlasm/x86asm.pl
|
||||
$(PERL) asm/aesni-x86.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@
|
||||
|
||||
aes-x86_64.s: asm/aes-x86_64.pl
|
||||
$(PERL) asm/aes-x86_64.pl $(PERLASM_SCHEME) > $@
|
||||
vpaes-x86_64.s: asm/vpaes-x86_64.pl
|
||||
$(PERL) asm/vpaes-x86_64.pl $(PERLASM_SCHEME) > $@
|
||||
bsaes-x86_64.s: asm/bsaes-x86_64.pl
|
||||
$(PERL) asm/bsaes-x86_64.pl $(PERLASM_SCHEME) > $@
|
||||
aesni-x86_64.s: asm/aesni-x86_64.pl
|
||||
$(PERL) asm/aesni-x86_64.pl $(PERLASM_SCHEME) > $@
|
||||
aesni-sha1-x86_64.s: asm/aesni-sha1-x86_64.pl
|
||||
$(PERL) asm/aesni-sha1-x86_64.pl $(PERLASM_SCHEME) > $@
|
||||
|
||||
aes-sparcv9.s: asm/aes-sparcv9.pl
|
||||
$(PERL) asm/aes-sparcv9.pl $(CFLAGS) > $@
|
||||
@@ -72,15 +60,8 @@ aes-sparcv9.s: asm/aes-sparcv9.pl
|
||||
aes-ppc.s: asm/aes-ppc.pl
|
||||
$(PERL) asm/aes-ppc.pl $(PERLASM_SCHEME) $@
|
||||
|
||||
aes-parisc.s: asm/aes-parisc.pl
|
||||
$(PERL) asm/aes-parisc.pl $(PERLASM_SCHEME) $@
|
||||
|
||||
aes-mips.S: asm/aes-mips.pl
|
||||
$(PERL) asm/aes-mips.pl $(PERLASM_SCHEME) $@
|
||||
|
||||
# GNU make "catch all"
|
||||
aes-%.S: asm/aes-%.pl; $(PERL) $< $(PERLASM_SCHEME) > $@
|
||||
aes-armv4.o: aes-armv4.S
|
||||
aes-%.s: asm/aes-%.pl; $(PERL) $< $(CFLAGS) > $@
|
||||
|
||||
files:
|
||||
$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
|
||||
@@ -136,11 +117,9 @@ aes_ige.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
|
||||
aes_ige.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||
aes_ige.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
|
||||
aes_ige.o: ../../include/openssl/symhacks.h ../cryptlib.h aes_ige.c aes_locl.h
|
||||
aes_misc.o: ../../include/openssl/aes.h ../../include/openssl/crypto.h
|
||||
aes_misc.o: ../../include/openssl/e_os2.h ../../include/openssl/opensslconf.h
|
||||
aes_misc.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||
aes_misc.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
|
||||
aes_misc.o: ../../include/openssl/symhacks.h aes_locl.h aes_misc.c
|
||||
aes_misc.o: ../../include/openssl/aes.h ../../include/openssl/e_os2.h
|
||||
aes_misc.o: ../../include/openssl/opensslconf.h
|
||||
aes_misc.o: ../../include/openssl/opensslv.h aes_locl.h aes_misc.c
|
||||
aes_ofb.o: ../../include/openssl/aes.h ../../include/openssl/modes.h
|
||||
aes_ofb.o: ../../include/openssl/opensslconf.h aes_ofb.c
|
||||
aes_wrap.o: ../../e_os.h ../../include/openssl/aes.h
|
||||
|
||||
5
deps/openssl/openssl/crypto/aes/aes.h
vendored
5
deps/openssl/openssl/crypto/aes/aes.h
vendored
@@ -90,11 +90,6 @@ int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
|
||||
int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
|
||||
AES_KEY *key);
|
||||
|
||||
int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits,
|
||||
AES_KEY *key);
|
||||
int private_AES_set_decrypt_key(const unsigned char *userKey, const int bits,
|
||||
AES_KEY *key);
|
||||
|
||||
void AES_encrypt(const unsigned char *in, unsigned char *out,
|
||||
const AES_KEY *key);
|
||||
void AES_decrypt(const unsigned char *in, unsigned char *out,
|
||||
|
||||
12
deps/openssl/openssl/crypto/aes/aes_core.c
vendored
12
deps/openssl/openssl/crypto/aes/aes_core.c
vendored
@@ -625,7 +625,7 @@ static const u32 rcon[] = {
|
||||
/**
|
||||
* Expand the cipher key into the encryption key schedule.
|
||||
*/
|
||||
int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits,
|
||||
int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
|
||||
AES_KEY *key) {
|
||||
|
||||
u32 *rk;
|
||||
@@ -726,7 +726,7 @@ int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits,
|
||||
/**
|
||||
* Expand the cipher key into the decryption key schedule.
|
||||
*/
|
||||
int private_AES_set_decrypt_key(const unsigned char *userKey, const int bits,
|
||||
int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
|
||||
AES_KEY *key) {
|
||||
|
||||
u32 *rk;
|
||||
@@ -734,7 +734,7 @@ int private_AES_set_decrypt_key(const unsigned char *userKey, const int bits,
|
||||
u32 temp;
|
||||
|
||||
/* first, start with an encryption schedule */
|
||||
status = private_AES_set_encrypt_key(userKey, bits, key);
|
||||
status = AES_set_encrypt_key(userKey, bits, key);
|
||||
if (status < 0)
|
||||
return status;
|
||||
|
||||
@@ -1201,7 +1201,7 @@ static const u32 rcon[] = {
|
||||
/**
|
||||
* Expand the cipher key into the encryption key schedule.
|
||||
*/
|
||||
int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits,
|
||||
int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
|
||||
AES_KEY *key) {
|
||||
u32 *rk;
|
||||
int i = 0;
|
||||
@@ -1301,7 +1301,7 @@ int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits,
|
||||
/**
|
||||
* Expand the cipher key into the decryption key schedule.
|
||||
*/
|
||||
int private_AES_set_decrypt_key(const unsigned char *userKey, const int bits,
|
||||
int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
|
||||
AES_KEY *key) {
|
||||
|
||||
u32 *rk;
|
||||
@@ -1309,7 +1309,7 @@ int private_AES_set_decrypt_key(const unsigned char *userKey, const int bits,
|
||||
u32 temp;
|
||||
|
||||
/* first, start with an encryption schedule */
|
||||
status = private_AES_set_encrypt_key(userKey, bits, key);
|
||||
status = AES_set_encrypt_key(userKey, bits, key);
|
||||
if (status < 0)
|
||||
return status;
|
||||
|
||||
|
||||
21
deps/openssl/openssl/crypto/aes/aes_misc.c
vendored
21
deps/openssl/openssl/crypto/aes/aes_misc.c
vendored
@@ -50,7 +50,6 @@
|
||||
*/
|
||||
|
||||
#include <openssl/opensslv.h>
|
||||
#include <openssl/crypto.h>
|
||||
#include <openssl/aes.h>
|
||||
#include "aes_locl.h"
|
||||
|
||||
@@ -63,23 +62,3 @@ const char *AES_options(void) {
|
||||
return "aes(partial)";
|
||||
#endif
|
||||
}
|
||||
|
||||
/* FIPS wrapper functions to block low level AES calls in FIPS mode */
|
||||
|
||||
int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
|
||||
AES_KEY *key)
|
||||
{
|
||||
#ifdef OPENSSL_FIPS
|
||||
fips_cipher_abort(AES);
|
||||
#endif
|
||||
return private_AES_set_encrypt_key(userKey, bits, key);
|
||||
}
|
||||
|
||||
int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
|
||||
AES_KEY *key)
|
||||
{
|
||||
#ifdef OPENSSL_FIPS
|
||||
fips_cipher_abort(AES);
|
||||
#endif
|
||||
return private_AES_set_decrypt_key(userKey, bits, key);
|
||||
}
|
||||
|
||||
14
deps/openssl/openssl/crypto/aes/asm/aes-586.pl
vendored
14
deps/openssl/openssl/crypto/aes/asm/aes-586.pl
vendored
@@ -39,7 +39,7 @@
|
||||
# but exhibits up to 10% improvement on other cores.
|
||||
#
|
||||
# Second version is "monolithic" replacement for aes_core.c, which in
|
||||
# addition to AES_[de|en]crypt implements private_AES_set_[de|en]cryption_key.
|
||||
# addition to AES_[de|en]crypt implements AES_set_[de|en]cryption_key.
|
||||
# This made it possible to implement little-endian variant of the
|
||||
# algorithm without modifying the base C code. Motivating factor for
|
||||
# the undertaken effort was that it appeared that in tight IA-32
|
||||
@@ -2854,12 +2854,12 @@ sub enckey()
|
||||
&set_label("exit");
|
||||
&function_end("_x86_AES_set_encrypt_key");
|
||||
|
||||
# int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits,
|
||||
# int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
|
||||
# AES_KEY *key)
|
||||
&function_begin_B("private_AES_set_encrypt_key");
|
||||
&function_begin_B("AES_set_encrypt_key");
|
||||
&call ("_x86_AES_set_encrypt_key");
|
||||
&ret ();
|
||||
&function_end_B("private_AES_set_encrypt_key");
|
||||
&function_end_B("AES_set_encrypt_key");
|
||||
|
||||
sub deckey()
|
||||
{ my ($i,$key,$tp1,$tp2,$tp4,$tp8) = @_;
|
||||
@@ -2916,9 +2916,9 @@ sub deckey()
|
||||
&mov (&DWP(4*$i,$key),$tp1);
|
||||
}
|
||||
|
||||
# int private_AES_set_decrypt_key(const unsigned char *userKey, const int bits,
|
||||
# int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
|
||||
# AES_KEY *key)
|
||||
&function_begin_B("private_AES_set_decrypt_key");
|
||||
&function_begin_B("AES_set_decrypt_key");
|
||||
&call ("_x86_AES_set_encrypt_key");
|
||||
&cmp ("eax",0);
|
||||
&je (&label("proceed"));
|
||||
@@ -2974,7 +2974,7 @@ sub deckey()
|
||||
&jb (&label("permute"));
|
||||
|
||||
&xor ("eax","eax"); # return success
|
||||
&function_end("private_AES_set_decrypt_key");
|
||||
&function_end("AES_set_decrypt_key");
|
||||
&asciz("AES for x86, CRYPTOGAMS by <appro\@openssl.org>");
|
||||
|
||||
&asm_finish();
|
||||
|
||||
182
deps/openssl/openssl/crypto/aes/asm/aes-armv4.pl
vendored
182
deps/openssl/openssl/crypto/aes/asm/aes-armv4.pl
vendored
@@ -27,11 +27,6 @@
|
||||
# Rescheduling for dual-issue pipeline resulted in 12% improvement on
|
||||
# Cortex A8 core and ~25 cycles per byte processed with 128-bit key.
|
||||
|
||||
# February 2011.
|
||||
#
|
||||
# Profiler-assisted and platform-specific optimization resulted in 16%
|
||||
# improvement on Cortex A8 core and ~21.5 cycles per byte.
|
||||
|
||||
while (($output=shift) && ($output!~/^\w[\w\-]*\.\w+$/)) {}
|
||||
open STDOUT,">$output";
|
||||
|
||||
@@ -51,7 +46,6 @@ $key="r11";
|
||||
$rounds="r12";
|
||||
|
||||
$code=<<___;
|
||||
#include "arm_arch.h"
|
||||
.text
|
||||
.code 32
|
||||
|
||||
@@ -172,7 +166,7 @@ AES_encrypt:
|
||||
mov $rounds,r0 @ inp
|
||||
mov $key,r2
|
||||
sub $tbl,r3,#AES_encrypt-AES_Te @ Te
|
||||
#if __ARM_ARCH__<7
|
||||
|
||||
ldrb $s0,[$rounds,#3] @ load input data in endian-neutral
|
||||
ldrb $t1,[$rounds,#2] @ manner...
|
||||
ldrb $t2,[$rounds,#1]
|
||||
@@ -201,33 +195,10 @@ AES_encrypt:
|
||||
orr $s3,$s3,$t1,lsl#8
|
||||
orr $s3,$s3,$t2,lsl#16
|
||||
orr $s3,$s3,$t3,lsl#24
|
||||
#else
|
||||
ldr $s0,[$rounds,#0]
|
||||
ldr $s1,[$rounds,#4]
|
||||
ldr $s2,[$rounds,#8]
|
||||
ldr $s3,[$rounds,#12]
|
||||
#ifdef __ARMEL__
|
||||
rev $s0,$s0
|
||||
rev $s1,$s1
|
||||
rev $s2,$s2
|
||||
rev $s3,$s3
|
||||
#endif
|
||||
#endif
|
||||
|
||||
bl _armv4_AES_encrypt
|
||||
|
||||
ldr $rounds,[sp],#4 @ pop out
|
||||
#if __ARM_ARCH__>=7
|
||||
#ifdef __ARMEL__
|
||||
rev $s0,$s0
|
||||
rev $s1,$s1
|
||||
rev $s2,$s2
|
||||
rev $s3,$s3
|
||||
#endif
|
||||
str $s0,[$rounds,#0]
|
||||
str $s1,[$rounds,#4]
|
||||
str $s2,[$rounds,#8]
|
||||
str $s3,[$rounds,#12]
|
||||
#else
|
||||
mov $t1,$s0,lsr#24 @ write output in endian-neutral
|
||||
mov $t2,$s0,lsr#16 @ manner...
|
||||
mov $t3,$s0,lsr#8
|
||||
@@ -256,15 +227,11 @@ AES_encrypt:
|
||||
strb $t2,[$rounds,#13]
|
||||
strb $t3,[$rounds,#14]
|
||||
strb $s3,[$rounds,#15]
|
||||
#endif
|
||||
#if __ARM_ARCH__>=5
|
||||
ldmia sp!,{r4-r12,pc}
|
||||
#else
|
||||
|
||||
ldmia sp!,{r4-r12,lr}
|
||||
tst lr,#1
|
||||
moveq pc,lr @ be binary compatible with V4, yet
|
||||
bx lr @ interoperable with Thumb ISA:-)
|
||||
#endif
|
||||
.size AES_encrypt,.-AES_encrypt
|
||||
|
||||
.type _armv4_AES_encrypt,%function
|
||||
@@ -304,11 +271,11 @@ _armv4_AES_encrypt:
|
||||
and $i2,lr,$s2,lsr#16 @ i1
|
||||
eor $t3,$t3,$i3,ror#8
|
||||
and $i3,lr,$s2
|
||||
ldr $i1,[$tbl,$i1,lsl#2] @ Te2[s2>>8]
|
||||
eor $s1,$s1,$t1,ror#24
|
||||
ldr $i2,[$tbl,$i2,lsl#2] @ Te1[s2>>16]
|
||||
ldr $i1,[$tbl,$i1,lsl#2] @ Te2[s2>>8]
|
||||
mov $s2,$s2,lsr#24
|
||||
|
||||
ldr $i2,[$tbl,$i2,lsl#2] @ Te1[s2>>16]
|
||||
ldr $i3,[$tbl,$i3,lsl#2] @ Te3[s2>>0]
|
||||
eor $s0,$s0,$i1,ror#16
|
||||
ldr $s2,[$tbl,$s2,lsl#2] @ Te0[s2>>24]
|
||||
@@ -317,16 +284,16 @@ _armv4_AES_encrypt:
|
||||
and $i2,lr,$s3,lsr#8 @ i1
|
||||
eor $t3,$t3,$i3,ror#16
|
||||
and $i3,lr,$s3,lsr#16 @ i2
|
||||
ldr $i1,[$tbl,$i1,lsl#2] @ Te3[s3>>0]
|
||||
eor $s2,$s2,$t2,ror#16
|
||||
ldr $i2,[$tbl,$i2,lsl#2] @ Te2[s3>>8]
|
||||
ldr $i1,[$tbl,$i1,lsl#2] @ Te3[s3>>0]
|
||||
mov $s3,$s3,lsr#24
|
||||
|
||||
ldr $i2,[$tbl,$i2,lsl#2] @ Te2[s3>>8]
|
||||
ldr $i3,[$tbl,$i3,lsl#2] @ Te1[s3>>16]
|
||||
eor $s0,$s0,$i1,ror#24
|
||||
ldr $i1,[$key],#16
|
||||
eor $s1,$s1,$i2,ror#16
|
||||
ldr $s3,[$tbl,$s3,lsl#2] @ Te0[s3>>24]
|
||||
eor $s1,$s1,$i2,ror#16
|
||||
ldr $i1,[$key],#16
|
||||
eor $s2,$s2,$i3,ror#8
|
||||
ldr $t1,[$key,#-12]
|
||||
eor $s3,$s3,$t3,ror#8
|
||||
@@ -366,11 +333,11 @@ _armv4_AES_encrypt:
|
||||
and $i2,lr,$s2,lsr#16 @ i1
|
||||
eor $t3,$i3,$t3,lsl#8
|
||||
and $i3,lr,$s2
|
||||
ldrb $i1,[$tbl,$i1,lsl#2] @ Te4[s2>>8]
|
||||
eor $s1,$t1,$s1,lsl#24
|
||||
ldrb $i2,[$tbl,$i2,lsl#2] @ Te4[s2>>16]
|
||||
ldrb $i1,[$tbl,$i1,lsl#2] @ Te4[s2>>8]
|
||||
mov $s2,$s2,lsr#24
|
||||
|
||||
ldrb $i2,[$tbl,$i2,lsl#2] @ Te4[s2>>16]
|
||||
ldrb $i3,[$tbl,$i3,lsl#2] @ Te4[s2>>0]
|
||||
eor $s0,$i1,$s0,lsl#8
|
||||
ldrb $s2,[$tbl,$s2,lsl#2] @ Te4[s2>>24]
|
||||
@@ -379,15 +346,15 @@ _armv4_AES_encrypt:
|
||||
and $i2,lr,$s3,lsr#8 @ i1
|
||||
eor $t3,$i3,$t3,lsl#8
|
||||
and $i3,lr,$s3,lsr#16 @ i2
|
||||
ldrb $i1,[$tbl,$i1,lsl#2] @ Te4[s3>>0]
|
||||
eor $s2,$t2,$s2,lsl#24
|
||||
ldrb $i2,[$tbl,$i2,lsl#2] @ Te4[s3>>8]
|
||||
ldrb $i1,[$tbl,$i1,lsl#2] @ Te4[s3>>0]
|
||||
mov $s3,$s3,lsr#24
|
||||
|
||||
ldrb $i2,[$tbl,$i2,lsl#2] @ Te4[s3>>8]
|
||||
ldrb $i3,[$tbl,$i3,lsl#2] @ Te4[s3>>16]
|
||||
eor $s0,$i1,$s0,lsl#8
|
||||
ldr $i1,[$key,#0]
|
||||
ldrb $s3,[$tbl,$s3,lsl#2] @ Te4[s3>>24]
|
||||
ldr $i1,[$key,#0]
|
||||
eor $s1,$s1,$i2,lsl#8
|
||||
ldr $t1,[$key,#4]
|
||||
eor $s2,$s2,$i3,lsl#16
|
||||
@@ -404,11 +371,10 @@ _armv4_AES_encrypt:
|
||||
ldr pc,[sp],#4 @ pop and return
|
||||
.size _armv4_AES_encrypt,.-_armv4_AES_encrypt
|
||||
|
||||
.global private_AES_set_encrypt_key
|
||||
.type private_AES_set_encrypt_key,%function
|
||||
.global AES_set_encrypt_key
|
||||
.type AES_set_encrypt_key,%function
|
||||
.align 5
|
||||
private_AES_set_encrypt_key:
|
||||
_armv4_AES_set_encrypt_key:
|
||||
AES_set_encrypt_key:
|
||||
sub r3,pc,#8 @ AES_set_encrypt_key
|
||||
teq r0,#0
|
||||
moveq r0,#-1
|
||||
@@ -426,13 +392,12 @@ _armv4_AES_set_encrypt_key:
|
||||
bne .Labrt
|
||||
|
||||
.Lok: stmdb sp!,{r4-r12,lr}
|
||||
sub $tbl,r3,#_armv4_AES_set_encrypt_key-AES_Te-1024 @ Te4
|
||||
sub $tbl,r3,#AES_set_encrypt_key-AES_Te-1024 @ Te4
|
||||
|
||||
mov $rounds,r0 @ inp
|
||||
mov lr,r1 @ bits
|
||||
mov $key,r2 @ key
|
||||
|
||||
#if __ARM_ARCH__<7
|
||||
ldrb $s0,[$rounds,#3] @ load input data in endian-neutral
|
||||
ldrb $t1,[$rounds,#2] @ manner...
|
||||
ldrb $t2,[$rounds,#1]
|
||||
@@ -465,22 +430,6 @@ _armv4_AES_set_encrypt_key:
|
||||
orr $s3,$s3,$t3,lsl#24
|
||||
str $s2,[$key,#-8]
|
||||
str $s3,[$key,#-4]
|
||||
#else
|
||||
ldr $s0,[$rounds,#0]
|
||||
ldr $s1,[$rounds,#4]
|
||||
ldr $s2,[$rounds,#8]
|
||||
ldr $s3,[$rounds,#12]
|
||||
#ifdef __ARMEL__
|
||||
rev $s0,$s0
|
||||
rev $s1,$s1
|
||||
rev $s2,$s2
|
||||
rev $s3,$s3
|
||||
#endif
|
||||
str $s0,[$key],#16
|
||||
str $s1,[$key,#-12]
|
||||
str $s2,[$key,#-8]
|
||||
str $s3,[$key,#-4]
|
||||
#endif
|
||||
|
||||
teq lr,#128
|
||||
bne .Lnot128
|
||||
@@ -517,7 +466,6 @@ _armv4_AES_set_encrypt_key:
|
||||
b .Ldone
|
||||
|
||||
.Lnot128:
|
||||
#if __ARM_ARCH__<7
|
||||
ldrb $i2,[$rounds,#19]
|
||||
ldrb $t1,[$rounds,#18]
|
||||
ldrb $t2,[$rounds,#17]
|
||||
@@ -534,16 +482,6 @@ _armv4_AES_set_encrypt_key:
|
||||
str $i2,[$key],#8
|
||||
orr $i3,$i3,$t3,lsl#24
|
||||
str $i3,[$key,#-4]
|
||||
#else
|
||||
ldr $i2,[$rounds,#16]
|
||||
ldr $i3,[$rounds,#20]
|
||||
#ifdef __ARMEL__
|
||||
rev $i2,$i2
|
||||
rev $i3,$i3
|
||||
#endif
|
||||
str $i2,[$key],#8
|
||||
str $i3,[$key,#-4]
|
||||
#endif
|
||||
|
||||
teq lr,#192
|
||||
bne .Lnot192
|
||||
@@ -588,7 +526,6 @@ _armv4_AES_set_encrypt_key:
|
||||
b .L192_loop
|
||||
|
||||
.Lnot192:
|
||||
#if __ARM_ARCH__<7
|
||||
ldrb $i2,[$rounds,#27]
|
||||
ldrb $t1,[$rounds,#26]
|
||||
ldrb $t2,[$rounds,#25]
|
||||
@@ -605,16 +542,6 @@ _armv4_AES_set_encrypt_key:
|
||||
str $i2,[$key],#8
|
||||
orr $i3,$i3,$t3,lsl#24
|
||||
str $i3,[$key,#-4]
|
||||
#else
|
||||
ldr $i2,[$rounds,#24]
|
||||
ldr $i3,[$rounds,#28]
|
||||
#ifdef __ARMEL__
|
||||
rev $i2,$i2
|
||||
rev $i3,$i3
|
||||
#endif
|
||||
str $i2,[$key],#8
|
||||
str $i3,[$key,#-4]
|
||||
#endif
|
||||
|
||||
mov $rounds,#14
|
||||
str $rounds,[$key,#240-32]
|
||||
@@ -679,14 +606,14 @@ _armv4_AES_set_encrypt_key:
|
||||
.Labrt: tst lr,#1
|
||||
moveq pc,lr @ be binary compatible with V4, yet
|
||||
bx lr @ interoperable with Thumb ISA:-)
|
||||
.size private_AES_set_encrypt_key,.-private_AES_set_encrypt_key
|
||||
.size AES_set_encrypt_key,.-AES_set_encrypt_key
|
||||
|
||||
.global private_AES_set_decrypt_key
|
||||
.type private_AES_set_decrypt_key,%function
|
||||
.global AES_set_decrypt_key
|
||||
.type AES_set_decrypt_key,%function
|
||||
.align 5
|
||||
private_AES_set_decrypt_key:
|
||||
AES_set_decrypt_key:
|
||||
str lr,[sp,#-4]! @ push lr
|
||||
bl _armv4_AES_set_encrypt_key
|
||||
bl AES_set_encrypt_key
|
||||
teq r0,#0
|
||||
ldrne lr,[sp],#4 @ pop lr
|
||||
bne .Labrt
|
||||
@@ -765,15 +692,11 @@ $code.=<<___;
|
||||
bne .Lmix
|
||||
|
||||
mov r0,#0
|
||||
#if __ARM_ARCH__>=5
|
||||
ldmia sp!,{r4-r12,pc}
|
||||
#else
|
||||
ldmia sp!,{r4-r12,lr}
|
||||
tst lr,#1
|
||||
moveq pc,lr @ be binary compatible with V4, yet
|
||||
bx lr @ interoperable with Thumb ISA:-)
|
||||
#endif
|
||||
.size private_AES_set_decrypt_key,.-private_AES_set_decrypt_key
|
||||
.size AES_set_decrypt_key,.-AES_set_decrypt_key
|
||||
|
||||
.type AES_Td,%object
|
||||
.align 5
|
||||
@@ -888,7 +811,7 @@ AES_decrypt:
|
||||
mov $rounds,r0 @ inp
|
||||
mov $key,r2
|
||||
sub $tbl,r3,#AES_decrypt-AES_Td @ Td
|
||||
#if __ARM_ARCH__<7
|
||||
|
||||
ldrb $s0,[$rounds,#3] @ load input data in endian-neutral
|
||||
ldrb $t1,[$rounds,#2] @ manner...
|
||||
ldrb $t2,[$rounds,#1]
|
||||
@@ -917,33 +840,10 @@ AES_decrypt:
|
||||
orr $s3,$s3,$t1,lsl#8
|
||||
orr $s3,$s3,$t2,lsl#16
|
||||
orr $s3,$s3,$t3,lsl#24
|
||||
#else
|
||||
ldr $s0,[$rounds,#0]
|
||||
ldr $s1,[$rounds,#4]
|
||||
ldr $s2,[$rounds,#8]
|
||||
ldr $s3,[$rounds,#12]
|
||||
#ifdef __ARMEL__
|
||||
rev $s0,$s0
|
||||
rev $s1,$s1
|
||||
rev $s2,$s2
|
||||
rev $s3,$s3
|
||||
#endif
|
||||
#endif
|
||||
|
||||
bl _armv4_AES_decrypt
|
||||
|
||||
ldr $rounds,[sp],#4 @ pop out
|
||||
#if __ARM_ARCH__>=7
|
||||
#ifdef __ARMEL__
|
||||
rev $s0,$s0
|
||||
rev $s1,$s1
|
||||
rev $s2,$s2
|
||||
rev $s3,$s3
|
||||
#endif
|
||||
str $s0,[$rounds,#0]
|
||||
str $s1,[$rounds,#4]
|
||||
str $s2,[$rounds,#8]
|
||||
str $s3,[$rounds,#12]
|
||||
#else
|
||||
mov $t1,$s0,lsr#24 @ write output in endian-neutral
|
||||
mov $t2,$s0,lsr#16 @ manner...
|
||||
mov $t3,$s0,lsr#8
|
||||
@@ -972,15 +872,11 @@ AES_decrypt:
|
||||
strb $t2,[$rounds,#13]
|
||||
strb $t3,[$rounds,#14]
|
||||
strb $s3,[$rounds,#15]
|
||||
#endif
|
||||
#if __ARM_ARCH__>=5
|
||||
ldmia sp!,{r4-r12,pc}
|
||||
#else
|
||||
|
||||
ldmia sp!,{r4-r12,lr}
|
||||
tst lr,#1
|
||||
moveq pc,lr @ be binary compatible with V4, yet
|
||||
bx lr @ interoperable with Thumb ISA:-)
|
||||
#endif
|
||||
.size AES_decrypt,.-AES_decrypt
|
||||
|
||||
.type _armv4_AES_decrypt,%function
|
||||
@@ -1020,11 +916,11 @@ _armv4_AES_decrypt:
|
||||
and $i2,lr,$s2 @ i1
|
||||
eor $t3,$i3,$t3,ror#8
|
||||
and $i3,lr,$s2,lsr#16
|
||||
ldr $i1,[$tbl,$i1,lsl#2] @ Td2[s2>>8]
|
||||
eor $s1,$s1,$t1,ror#8
|
||||
ldr $i2,[$tbl,$i2,lsl#2] @ Td3[s2>>0]
|
||||
ldr $i1,[$tbl,$i1,lsl#2] @ Td2[s2>>8]
|
||||
mov $s2,$s2,lsr#24
|
||||
|
||||
ldr $i2,[$tbl,$i2,lsl#2] @ Td3[s2>>0]
|
||||
ldr $i3,[$tbl,$i3,lsl#2] @ Td1[s2>>16]
|
||||
eor $s0,$s0,$i1,ror#16
|
||||
ldr $s2,[$tbl,$s2,lsl#2] @ Td0[s2>>24]
|
||||
@@ -1033,22 +929,22 @@ _armv4_AES_decrypt:
|
||||
and $i2,lr,$s3,lsr#8 @ i1
|
||||
eor $t3,$i3,$t3,ror#8
|
||||
and $i3,lr,$s3 @ i2
|
||||
ldr $i1,[$tbl,$i1,lsl#2] @ Td1[s3>>16]
|
||||
eor $s2,$s2,$t2,ror#8
|
||||
ldr $i2,[$tbl,$i2,lsl#2] @ Td2[s3>>8]
|
||||
ldr $i1,[$tbl,$i1,lsl#2] @ Td1[s3>>16]
|
||||
mov $s3,$s3,lsr#24
|
||||
|
||||
ldr $i2,[$tbl,$i2,lsl#2] @ Td2[s3>>8]
|
||||
ldr $i3,[$tbl,$i3,lsl#2] @ Td3[s3>>0]
|
||||
eor $s0,$s0,$i1,ror#8
|
||||
ldr $i1,[$key],#16
|
||||
eor $s1,$s1,$i2,ror#16
|
||||
ldr $s3,[$tbl,$s3,lsl#2] @ Td0[s3>>24]
|
||||
eor $s1,$s1,$i2,ror#16
|
||||
eor $s2,$s2,$i3,ror#24
|
||||
ldr $i1,[$key],#16
|
||||
eor $s3,$s3,$t3,ror#8
|
||||
|
||||
ldr $t1,[$key,#-12]
|
||||
eor $s0,$s0,$i1
|
||||
ldr $t2,[$key,#-8]
|
||||
eor $s3,$s3,$t3,ror#8
|
||||
eor $s0,$s0,$i1
|
||||
ldr $t3,[$key,#-4]
|
||||
and $i1,lr,$s0,lsr#16
|
||||
eor $s1,$s1,$t1
|
||||
@@ -1089,11 +985,11 @@ _armv4_AES_decrypt:
|
||||
and $i1,lr,$s2,lsr#8 @ i0
|
||||
eor $t2,$t2,$i2,lsl#8
|
||||
and $i2,lr,$s2 @ i1
|
||||
ldrb $i1,[$tbl,$i1] @ Td4[s2>>8]
|
||||
eor $t3,$t3,$i3,lsl#8
|
||||
ldrb $i2,[$tbl,$i2] @ Td4[s2>>0]
|
||||
ldrb $i1,[$tbl,$i1] @ Td4[s2>>8]
|
||||
and $i3,lr,$s2,lsr#16
|
||||
|
||||
ldrb $i2,[$tbl,$i2] @ Td4[s2>>0]
|
||||
ldrb $s2,[$tbl,$s2,lsr#24] @ Td4[s2>>24]
|
||||
eor $s0,$s0,$i1,lsl#8
|
||||
ldrb $i3,[$tbl,$i3] @ Td4[s2>>16]
|
||||
@@ -1101,11 +997,11 @@ _armv4_AES_decrypt:
|
||||
and $i1,lr,$s3,lsr#16 @ i0
|
||||
eor $s2,$t2,$s2,lsl#16
|
||||
and $i2,lr,$s3,lsr#8 @ i1
|
||||
ldrb $i1,[$tbl,$i1] @ Td4[s3>>16]
|
||||
eor $t3,$t3,$i3,lsl#16
|
||||
ldrb $i2,[$tbl,$i2] @ Td4[s3>>8]
|
||||
ldrb $i1,[$tbl,$i1] @ Td4[s3>>16]
|
||||
and $i3,lr,$s3 @ i2
|
||||
|
||||
ldrb $i2,[$tbl,$i2] @ Td4[s3>>8]
|
||||
ldrb $i3,[$tbl,$i3] @ Td4[s3>>0]
|
||||
ldrb $s3,[$tbl,$s3,lsr#24] @ Td4[s3>>24]
|
||||
eor $s0,$s0,$i1,lsl#16
|
||||
|
||||
444
deps/openssl/openssl/crypto/aes/asm/aes-ppc.pl
vendored
444
deps/openssl/openssl/crypto/aes/asm/aes-ppc.pl
vendored
@@ -7,7 +7,7 @@
|
||||
# details see http://www.openssl.org/~appro/cryptogams/.
|
||||
# ====================================================================
|
||||
|
||||
# Needs more work: key setup, CBC routine...
|
||||
# Needs more work: key setup, page boundaries, CBC routine...
|
||||
#
|
||||
# ppc_AES_[en|de]crypt perform at 18 cycles per byte processed with
|
||||
# 128-bit key, which is ~40% better than 64-bit code generated by gcc
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
# February 2010
|
||||
#
|
||||
# Rescheduling instructions to favour Power6 pipeline gave 10%
|
||||
# Rescheduling instructions to favour Power6 pipeline gives 10%
|
||||
# performance improvement on the platfrom in question (and marginal
|
||||
# improvement even on others). It should be noted that Power6 fails
|
||||
# to process byte in 18 cycles, only in 23, because it fails to issue
|
||||
@@ -33,13 +33,11 @@ $flavour = shift;
|
||||
|
||||
if ($flavour =~ /64/) {
|
||||
$SIZE_T =8;
|
||||
$LRSAVE =2*$SIZE_T;
|
||||
$STU ="stdu";
|
||||
$POP ="ld";
|
||||
$PUSH ="std";
|
||||
} elsif ($flavour =~ /32/) {
|
||||
$SIZE_T =4;
|
||||
$LRSAVE =$SIZE_T;
|
||||
$STU ="stwu";
|
||||
$POP ="lwz";
|
||||
$PUSH ="stw";
|
||||
@@ -118,19 +116,15 @@ LAES_Te:
|
||||
addi $Tbl0,$Tbl0,`128-8`
|
||||
mtlr r0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.space `64-9*4`
|
||||
.space `32-24`
|
||||
LAES_Td:
|
||||
mflr r0
|
||||
bcl 20,31,\$+4
|
||||
mflr $Tbl0 ; vvvvvvvv "distance" between . and 1st data entry
|
||||
addi $Tbl0,$Tbl0,`128-64-8+2048+256`
|
||||
addi $Tbl0,$Tbl0,`128-8-32+2048+256`
|
||||
mtlr r0
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.space `128-64-9*4`
|
||||
.space `128-32-24`
|
||||
___
|
||||
&_data_word(
|
||||
0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d,
|
||||
@@ -334,9 +328,10 @@ $code.=<<___;
|
||||
.globl .AES_encrypt
|
||||
.align 7
|
||||
.AES_encrypt:
|
||||
$STU $sp,-$FRAME($sp)
|
||||
mflr r0
|
||||
$STU $sp,-$FRAME($sp)
|
||||
|
||||
$PUSH r0,`$FRAME-$SIZE_T*21`($sp)
|
||||
$PUSH $toc,`$FRAME-$SIZE_T*20`($sp)
|
||||
$PUSH r13,`$FRAME-$SIZE_T*19`($sp)
|
||||
$PUSH r14,`$FRAME-$SIZE_T*18`($sp)
|
||||
@@ -357,14 +352,7 @@ $code.=<<___;
|
||||
$PUSH r29,`$FRAME-$SIZE_T*3`($sp)
|
||||
$PUSH r30,`$FRAME-$SIZE_T*2`($sp)
|
||||
$PUSH r31,`$FRAME-$SIZE_T*1`($sp)
|
||||
$PUSH r0,`$FRAME+$LRSAVE`($sp)
|
||||
|
||||
andi. $t0,$inp,3
|
||||
andi. $t1,$out,3
|
||||
or. $t0,$t0,$t1
|
||||
bne Lenc_unaligned
|
||||
|
||||
Lenc_unaligned_ok:
|
||||
lwz $s0,0($inp)
|
||||
lwz $s1,4($inp)
|
||||
lwz $s2,8($inp)
|
||||
@@ -375,80 +363,8 @@ Lenc_unaligned_ok:
|
||||
stw $s1,4($out)
|
||||
stw $s2,8($out)
|
||||
stw $s3,12($out)
|
||||
b Lenc_done
|
||||
|
||||
Lenc_unaligned:
|
||||
subfic $t0,$inp,4096
|
||||
subfic $t1,$out,4096
|
||||
andi. $t0,$t0,4096-16
|
||||
beq Lenc_xpage
|
||||
andi. $t1,$t1,4096-16
|
||||
bne Lenc_unaligned_ok
|
||||
|
||||
Lenc_xpage:
|
||||
lbz $acc00,0($inp)
|
||||
lbz $acc01,1($inp)
|
||||
lbz $acc02,2($inp)
|
||||
lbz $s0,3($inp)
|
||||
lbz $acc04,4($inp)
|
||||
lbz $acc05,5($inp)
|
||||
lbz $acc06,6($inp)
|
||||
lbz $s1,7($inp)
|
||||
lbz $acc08,8($inp)
|
||||
lbz $acc09,9($inp)
|
||||
lbz $acc10,10($inp)
|
||||
insrwi $s0,$acc00,8,0
|
||||
lbz $s2,11($inp)
|
||||
insrwi $s1,$acc04,8,0
|
||||
lbz $acc12,12($inp)
|
||||
insrwi $s0,$acc01,8,8
|
||||
lbz $acc13,13($inp)
|
||||
insrwi $s1,$acc05,8,8
|
||||
lbz $acc14,14($inp)
|
||||
insrwi $s0,$acc02,8,16
|
||||
lbz $s3,15($inp)
|
||||
insrwi $s1,$acc06,8,16
|
||||
insrwi $s2,$acc08,8,0
|
||||
insrwi $s3,$acc12,8,0
|
||||
insrwi $s2,$acc09,8,8
|
||||
insrwi $s3,$acc13,8,8
|
||||
insrwi $s2,$acc10,8,16
|
||||
insrwi $s3,$acc14,8,16
|
||||
|
||||
bl LAES_Te
|
||||
bl Lppc_AES_encrypt_compact
|
||||
|
||||
extrwi $acc00,$s0,8,0
|
||||
extrwi $acc01,$s0,8,8
|
||||
stb $acc00,0($out)
|
||||
extrwi $acc02,$s0,8,16
|
||||
stb $acc01,1($out)
|
||||
stb $acc02,2($out)
|
||||
extrwi $acc04,$s1,8,0
|
||||
stb $s0,3($out)
|
||||
extrwi $acc05,$s1,8,8
|
||||
stb $acc04,4($out)
|
||||
extrwi $acc06,$s1,8,16
|
||||
stb $acc05,5($out)
|
||||
stb $acc06,6($out)
|
||||
extrwi $acc08,$s2,8,0
|
||||
stb $s1,7($out)
|
||||
extrwi $acc09,$s2,8,8
|
||||
stb $acc08,8($out)
|
||||
extrwi $acc10,$s2,8,16
|
||||
stb $acc09,9($out)
|
||||
stb $acc10,10($out)
|
||||
extrwi $acc12,$s3,8,0
|
||||
stb $s2,11($out)
|
||||
extrwi $acc13,$s3,8,8
|
||||
stb $acc12,12($out)
|
||||
extrwi $acc14,$s3,8,16
|
||||
stb $acc13,13($out)
|
||||
stb $acc14,14($out)
|
||||
stb $s3,15($out)
|
||||
|
||||
Lenc_done:
|
||||
$POP r0,`$FRAME+$LRSAVE`($sp)
|
||||
$POP r0,`$FRAME-$SIZE_T*21`($sp)
|
||||
$POP $toc,`$FRAME-$SIZE_T*20`($sp)
|
||||
$POP r13,`$FRAME-$SIZE_T*19`($sp)
|
||||
$POP r14,`$FRAME-$SIZE_T*18`($sp)
|
||||
@@ -472,21 +388,18 @@ Lenc_done:
|
||||
mtlr r0
|
||||
addi $sp,$sp,$FRAME
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,18,3,0
|
||||
.long 0
|
||||
|
||||
.align 5
|
||||
Lppc_AES_encrypt:
|
||||
lwz $acc00,240($key)
|
||||
addi $Tbl1,$Tbl0,3
|
||||
lwz $t0,0($key)
|
||||
addi $Tbl2,$Tbl0,2
|
||||
lwz $t1,4($key)
|
||||
addi $Tbl3,$Tbl0,1
|
||||
lwz $t2,8($key)
|
||||
addi $acc00,$acc00,-1
|
||||
lwz $t3,12($key)
|
||||
addi $Tbl1,$Tbl0,3
|
||||
addi $Tbl2,$Tbl0,2
|
||||
addi $Tbl3,$Tbl0,1
|
||||
addi $acc00,$acc00,-1
|
||||
addi $key,$key,16
|
||||
xor $s0,$s0,$t0
|
||||
xor $s1,$s1,$t1
|
||||
@@ -500,44 +413,44 @@ Lenc_loop:
|
||||
rlwinm $acc02,$s2,`32-24+3`,21,28
|
||||
rlwinm $acc03,$s3,`32-24+3`,21,28
|
||||
lwz $t0,0($key)
|
||||
rlwinm $acc04,$s1,`32-16+3`,21,28
|
||||
lwz $t1,4($key)
|
||||
rlwinm $acc04,$s1,`32-16+3`,21,28
|
||||
rlwinm $acc05,$s2,`32-16+3`,21,28
|
||||
lwz $t2,8($key)
|
||||
rlwinm $acc06,$s3,`32-16+3`,21,28
|
||||
lwz $t3,12($key)
|
||||
rlwinm $acc06,$s3,`32-16+3`,21,28
|
||||
rlwinm $acc07,$s0,`32-16+3`,21,28
|
||||
lwzx $acc00,$Tbl0,$acc00
|
||||
rlwinm $acc08,$s2,`32-8+3`,21,28
|
||||
lwzx $acc01,$Tbl0,$acc01
|
||||
rlwinm $acc08,$s2,`32-8+3`,21,28
|
||||
rlwinm $acc09,$s3,`32-8+3`,21,28
|
||||
lwzx $acc02,$Tbl0,$acc02
|
||||
rlwinm $acc10,$s0,`32-8+3`,21,28
|
||||
lwzx $acc03,$Tbl0,$acc03
|
||||
rlwinm $acc10,$s0,`32-8+3`,21,28
|
||||
rlwinm $acc11,$s1,`32-8+3`,21,28
|
||||
lwzx $acc04,$Tbl1,$acc04
|
||||
rlwinm $acc12,$s3,`0+3`,21,28
|
||||
lwzx $acc05,$Tbl1,$acc05
|
||||
rlwinm $acc12,$s3,`0+3`,21,28
|
||||
rlwinm $acc13,$s0,`0+3`,21,28
|
||||
lwzx $acc06,$Tbl1,$acc06
|
||||
rlwinm $acc14,$s1,`0+3`,21,28
|
||||
lwzx $acc07,$Tbl1,$acc07
|
||||
rlwinm $acc14,$s1,`0+3`,21,28
|
||||
rlwinm $acc15,$s2,`0+3`,21,28
|
||||
lwzx $acc08,$Tbl2,$acc08
|
||||
xor $t0,$t0,$acc00
|
||||
lwzx $acc09,$Tbl2,$acc09
|
||||
xor $t0,$t0,$acc00
|
||||
xor $t1,$t1,$acc01
|
||||
lwzx $acc10,$Tbl2,$acc10
|
||||
xor $t2,$t2,$acc02
|
||||
lwzx $acc11,$Tbl2,$acc11
|
||||
xor $t2,$t2,$acc02
|
||||
xor $t3,$t3,$acc03
|
||||
lwzx $acc12,$Tbl3,$acc12
|
||||
xor $t0,$t0,$acc04
|
||||
lwzx $acc13,$Tbl3,$acc13
|
||||
xor $t0,$t0,$acc04
|
||||
xor $t1,$t1,$acc05
|
||||
lwzx $acc14,$Tbl3,$acc14
|
||||
xor $t2,$t2,$acc06
|
||||
lwzx $acc15,$Tbl3,$acc15
|
||||
xor $t2,$t2,$acc06
|
||||
xor $t3,$t3,$acc07
|
||||
xor $t0,$t0,$acc08
|
||||
xor $t1,$t1,$acc09
|
||||
@@ -553,60 +466,60 @@ Lenc_loop:
|
||||
addi $Tbl2,$Tbl0,2048
|
||||
nop
|
||||
lwz $t0,0($key)
|
||||
rlwinm $acc00,$s0,`32-24`,24,31
|
||||
lwz $t1,4($key)
|
||||
rlwinm $acc00,$s0,`32-24`,24,31
|
||||
rlwinm $acc01,$s1,`32-24`,24,31
|
||||
lwz $t2,8($key)
|
||||
rlwinm $acc02,$s2,`32-24`,24,31
|
||||
lwz $t3,12($key)
|
||||
rlwinm $acc02,$s2,`32-24`,24,31
|
||||
rlwinm $acc03,$s3,`32-24`,24,31
|
||||
lwz $acc08,`2048+0`($Tbl0) ! prefetch Te4
|
||||
rlwinm $acc04,$s1,`32-16`,24,31
|
||||
lwz $acc09,`2048+32`($Tbl0)
|
||||
rlwinm $acc04,$s1,`32-16`,24,31
|
||||
rlwinm $acc05,$s2,`32-16`,24,31
|
||||
lwz $acc10,`2048+64`($Tbl0)
|
||||
rlwinm $acc06,$s3,`32-16`,24,31
|
||||
lwz $acc11,`2048+96`($Tbl0)
|
||||
rlwinm $acc06,$s3,`32-16`,24,31
|
||||
rlwinm $acc07,$s0,`32-16`,24,31
|
||||
lwz $acc12,`2048+128`($Tbl0)
|
||||
rlwinm $acc08,$s2,`32-8`,24,31
|
||||
lwz $acc13,`2048+160`($Tbl0)
|
||||
rlwinm $acc08,$s2,`32-8`,24,31
|
||||
rlwinm $acc09,$s3,`32-8`,24,31
|
||||
lwz $acc14,`2048+192`($Tbl0)
|
||||
rlwinm $acc10,$s0,`32-8`,24,31
|
||||
lwz $acc15,`2048+224`($Tbl0)
|
||||
rlwinm $acc10,$s0,`32-8`,24,31
|
||||
rlwinm $acc11,$s1,`32-8`,24,31
|
||||
lbzx $acc00,$Tbl2,$acc00
|
||||
rlwinm $acc12,$s3,`0`,24,31
|
||||
lbzx $acc01,$Tbl2,$acc01
|
||||
rlwinm $acc12,$s3,`0`,24,31
|
||||
rlwinm $acc13,$s0,`0`,24,31
|
||||
lbzx $acc02,$Tbl2,$acc02
|
||||
rlwinm $acc14,$s1,`0`,24,31
|
||||
lbzx $acc03,$Tbl2,$acc03
|
||||
rlwinm $acc14,$s1,`0`,24,31
|
||||
rlwinm $acc15,$s2,`0`,24,31
|
||||
lbzx $acc04,$Tbl2,$acc04
|
||||
rlwinm $s0,$acc00,24,0,7
|
||||
lbzx $acc05,$Tbl2,$acc05
|
||||
rlwinm $s0,$acc00,24,0,7
|
||||
rlwinm $s1,$acc01,24,0,7
|
||||
lbzx $acc06,$Tbl2,$acc06
|
||||
rlwinm $s2,$acc02,24,0,7
|
||||
lbzx $acc07,$Tbl2,$acc07
|
||||
rlwinm $s2,$acc02,24,0,7
|
||||
rlwinm $s3,$acc03,24,0,7
|
||||
lbzx $acc08,$Tbl2,$acc08
|
||||
rlwimi $s0,$acc04,16,8,15
|
||||
lbzx $acc09,$Tbl2,$acc09
|
||||
rlwimi $s0,$acc04,16,8,15
|
||||
rlwimi $s1,$acc05,16,8,15
|
||||
lbzx $acc10,$Tbl2,$acc10
|
||||
rlwimi $s2,$acc06,16,8,15
|
||||
lbzx $acc11,$Tbl2,$acc11
|
||||
rlwimi $s2,$acc06,16,8,15
|
||||
rlwimi $s3,$acc07,16,8,15
|
||||
lbzx $acc12,$Tbl2,$acc12
|
||||
rlwimi $s0,$acc08,8,16,23
|
||||
lbzx $acc13,$Tbl2,$acc13
|
||||
rlwimi $s0,$acc08,8,16,23
|
||||
rlwimi $s1,$acc09,8,16,23
|
||||
lbzx $acc14,$Tbl2,$acc14
|
||||
rlwimi $s2,$acc10,8,16,23
|
||||
lbzx $acc15,$Tbl2,$acc15
|
||||
rlwimi $s2,$acc10,8,16,23
|
||||
rlwimi $s3,$acc11,8,16,23
|
||||
or $s0,$s0,$acc12
|
||||
or $s1,$s1,$acc13
|
||||
@@ -617,31 +530,29 @@ Lenc_loop:
|
||||
xor $s2,$s2,$t2
|
||||
xor $s3,$s3,$t3
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
|
||||
.align 4
|
||||
Lppc_AES_encrypt_compact:
|
||||
lwz $acc00,240($key)
|
||||
addi $Tbl1,$Tbl0,2048
|
||||
lwz $t0,0($key)
|
||||
lis $mask80,0x8080
|
||||
lwz $t1,4($key)
|
||||
lis $mask1b,0x1b1b
|
||||
lwz $t2,8($key)
|
||||
ori $mask80,$mask80,0x8080
|
||||
lwz $t3,12($key)
|
||||
ori $mask1b,$mask1b,0x1b1b
|
||||
addi $Tbl1,$Tbl0,2048
|
||||
lis $mask80,0x8080
|
||||
lis $mask1b,0x1b1b
|
||||
addi $key,$key,16
|
||||
ori $mask80,$mask80,0x8080
|
||||
ori $mask1b,$mask1b,0x1b1b
|
||||
mtctr $acc00
|
||||
.align 4
|
||||
Lenc_compact_loop:
|
||||
xor $s0,$s0,$t0
|
||||
xor $s1,$s1,$t1
|
||||
rlwinm $acc00,$s0,`32-24`,24,31
|
||||
xor $s2,$s2,$t2
|
||||
rlwinm $acc01,$s1,`32-24`,24,31
|
||||
xor $s3,$s3,$t3
|
||||
rlwinm $acc00,$s0,`32-24`,24,31
|
||||
rlwinm $acc01,$s1,`32-24`,24,31
|
||||
rlwinm $acc02,$s2,`32-24`,24,31
|
||||
rlwinm $acc03,$s3,`32-24`,24,31
|
||||
rlwinm $acc04,$s1,`32-16`,24,31
|
||||
@@ -649,48 +560,48 @@ Lenc_compact_loop:
|
||||
rlwinm $acc06,$s3,`32-16`,24,31
|
||||
rlwinm $acc07,$s0,`32-16`,24,31
|
||||
lbzx $acc00,$Tbl1,$acc00
|
||||
rlwinm $acc08,$s2,`32-8`,24,31
|
||||
lbzx $acc01,$Tbl1,$acc01
|
||||
rlwinm $acc08,$s2,`32-8`,24,31
|
||||
rlwinm $acc09,$s3,`32-8`,24,31
|
||||
lbzx $acc02,$Tbl1,$acc02
|
||||
rlwinm $acc10,$s0,`32-8`,24,31
|
||||
lbzx $acc03,$Tbl1,$acc03
|
||||
rlwinm $acc10,$s0,`32-8`,24,31
|
||||
rlwinm $acc11,$s1,`32-8`,24,31
|
||||
lbzx $acc04,$Tbl1,$acc04
|
||||
rlwinm $acc12,$s3,`0`,24,31
|
||||
lbzx $acc05,$Tbl1,$acc05
|
||||
rlwinm $acc12,$s3,`0`,24,31
|
||||
rlwinm $acc13,$s0,`0`,24,31
|
||||
lbzx $acc06,$Tbl1,$acc06
|
||||
rlwinm $acc14,$s1,`0`,24,31
|
||||
lbzx $acc07,$Tbl1,$acc07
|
||||
rlwinm $acc14,$s1,`0`,24,31
|
||||
rlwinm $acc15,$s2,`0`,24,31
|
||||
lbzx $acc08,$Tbl1,$acc08
|
||||
rlwinm $s0,$acc00,24,0,7
|
||||
lbzx $acc09,$Tbl1,$acc09
|
||||
rlwinm $s0,$acc00,24,0,7
|
||||
rlwinm $s1,$acc01,24,0,7
|
||||
lbzx $acc10,$Tbl1,$acc10
|
||||
rlwinm $s2,$acc02,24,0,7
|
||||
lbzx $acc11,$Tbl1,$acc11
|
||||
rlwinm $s2,$acc02,24,0,7
|
||||
rlwinm $s3,$acc03,24,0,7
|
||||
lbzx $acc12,$Tbl1,$acc12
|
||||
rlwimi $s0,$acc04,16,8,15
|
||||
lbzx $acc13,$Tbl1,$acc13
|
||||
rlwimi $s0,$acc04,16,8,15
|
||||
rlwimi $s1,$acc05,16,8,15
|
||||
lbzx $acc14,$Tbl1,$acc14
|
||||
rlwimi $s2,$acc06,16,8,15
|
||||
lbzx $acc15,$Tbl1,$acc15
|
||||
rlwimi $s2,$acc06,16,8,15
|
||||
rlwimi $s3,$acc07,16,8,15
|
||||
rlwimi $s0,$acc08,8,16,23
|
||||
rlwimi $s1,$acc09,8,16,23
|
||||
rlwimi $s2,$acc10,8,16,23
|
||||
rlwimi $s3,$acc11,8,16,23
|
||||
lwz $t0,0($key)
|
||||
or $s0,$s0,$acc12
|
||||
lwz $t1,4($key)
|
||||
or $s0,$s0,$acc12
|
||||
or $s1,$s1,$acc13
|
||||
lwz $t2,8($key)
|
||||
or $s2,$s2,$acc14
|
||||
lwz $t3,12($key)
|
||||
or $s2,$s2,$acc14
|
||||
or $s3,$s3,$acc15
|
||||
|
||||
addi $key,$key,16
|
||||
@@ -701,12 +612,12 @@ Lenc_compact_loop:
|
||||
and $acc02,$s2,$mask80
|
||||
and $acc03,$s3,$mask80
|
||||
srwi $acc04,$acc00,7 # r1>>7
|
||||
andc $acc08,$s0,$mask80 # r0&0x7f7f7f7f
|
||||
srwi $acc05,$acc01,7
|
||||
andc $acc09,$s1,$mask80
|
||||
srwi $acc06,$acc02,7
|
||||
andc $acc10,$s2,$mask80
|
||||
srwi $acc07,$acc03,7
|
||||
andc $acc08,$s0,$mask80 # r0&0x7f7f7f7f
|
||||
andc $acc09,$s1,$mask80
|
||||
andc $acc10,$s2,$mask80
|
||||
andc $acc11,$s3,$mask80
|
||||
sub $acc00,$acc00,$acc04 # r1-(r1>>7)
|
||||
sub $acc01,$acc01,$acc05
|
||||
@@ -722,32 +633,32 @@ Lenc_compact_loop:
|
||||
and $acc03,$acc03,$mask1b
|
||||
xor $acc00,$acc00,$acc08 # r2
|
||||
xor $acc01,$acc01,$acc09
|
||||
rotlwi $acc12,$s0,16 # ROTATE(r0,16)
|
||||
xor $acc02,$acc02,$acc10
|
||||
rotlwi $acc13,$s1,16
|
||||
xor $acc03,$acc03,$acc11
|
||||
rotlwi $acc14,$s2,16
|
||||
|
||||
xor $s0,$s0,$acc00 # r0^r2
|
||||
rotlwi $acc12,$s0,16 # ROTATE(r0,16)
|
||||
rotlwi $acc13,$s1,16
|
||||
rotlwi $acc14,$s2,16
|
||||
rotlwi $acc15,$s3,16
|
||||
xor $s0,$s0,$acc00 # r0^r2
|
||||
xor $s1,$s1,$acc01
|
||||
rotrwi $s0,$s0,24 # ROTATE(r2^r0,24)
|
||||
xor $s2,$s2,$acc02
|
||||
rotrwi $s1,$s1,24
|
||||
xor $s3,$s3,$acc03
|
||||
rotrwi $s0,$s0,24 # ROTATE(r2^r0,24)
|
||||
rotrwi $s1,$s1,24
|
||||
rotrwi $s2,$s2,24
|
||||
xor $s0,$s0,$acc00 # ROTATE(r2^r0,24)^r2
|
||||
rotrwi $s3,$s3,24
|
||||
xor $s0,$s0,$acc00 # ROTATE(r2^r0,24)^r2
|
||||
xor $s1,$s1,$acc01
|
||||
xor $s2,$s2,$acc02
|
||||
xor $s3,$s3,$acc03
|
||||
rotlwi $acc08,$acc12,8 # ROTATE(r0,24)
|
||||
xor $s0,$s0,$acc12 #
|
||||
rotlwi $acc09,$acc13,8
|
||||
xor $s1,$s1,$acc13
|
||||
rotlwi $acc10,$acc14,8
|
||||
xor $s2,$s2,$acc14
|
||||
rotlwi $acc11,$acc15,8
|
||||
xor $s0,$s0,$acc12 #
|
||||
xor $s1,$s1,$acc13
|
||||
xor $s2,$s2,$acc14
|
||||
xor $s3,$s3,$acc15
|
||||
xor $s0,$s0,$acc08 #
|
||||
xor $s1,$s1,$acc09
|
||||
@@ -762,15 +673,14 @@ Lenc_compact_done:
|
||||
xor $s2,$s2,$t2
|
||||
xor $s3,$s3,$t3
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
|
||||
.globl .AES_decrypt
|
||||
.align 7
|
||||
.AES_decrypt:
|
||||
$STU $sp,-$FRAME($sp)
|
||||
mflr r0
|
||||
$STU $sp,-$FRAME($sp)
|
||||
|
||||
$PUSH r0,`$FRAME-$SIZE_T*21`($sp)
|
||||
$PUSH $toc,`$FRAME-$SIZE_T*20`($sp)
|
||||
$PUSH r13,`$FRAME-$SIZE_T*19`($sp)
|
||||
$PUSH r14,`$FRAME-$SIZE_T*18`($sp)
|
||||
@@ -791,14 +701,7 @@ Lenc_compact_done:
|
||||
$PUSH r29,`$FRAME-$SIZE_T*3`($sp)
|
||||
$PUSH r30,`$FRAME-$SIZE_T*2`($sp)
|
||||
$PUSH r31,`$FRAME-$SIZE_T*1`($sp)
|
||||
$PUSH r0,`$FRAME+$LRSAVE`($sp)
|
||||
|
||||
andi. $t0,$inp,3
|
||||
andi. $t1,$out,3
|
||||
or. $t0,$t0,$t1
|
||||
bne Ldec_unaligned
|
||||
|
||||
Ldec_unaligned_ok:
|
||||
lwz $s0,0($inp)
|
||||
lwz $s1,4($inp)
|
||||
lwz $s2,8($inp)
|
||||
@@ -809,80 +712,8 @@ Ldec_unaligned_ok:
|
||||
stw $s1,4($out)
|
||||
stw $s2,8($out)
|
||||
stw $s3,12($out)
|
||||
b Ldec_done
|
||||
|
||||
Ldec_unaligned:
|
||||
subfic $t0,$inp,4096
|
||||
subfic $t1,$out,4096
|
||||
andi. $t0,$t0,4096-16
|
||||
beq Ldec_xpage
|
||||
andi. $t1,$t1,4096-16
|
||||
bne Ldec_unaligned_ok
|
||||
|
||||
Ldec_xpage:
|
||||
lbz $acc00,0($inp)
|
||||
lbz $acc01,1($inp)
|
||||
lbz $acc02,2($inp)
|
||||
lbz $s0,3($inp)
|
||||
lbz $acc04,4($inp)
|
||||
lbz $acc05,5($inp)
|
||||
lbz $acc06,6($inp)
|
||||
lbz $s1,7($inp)
|
||||
lbz $acc08,8($inp)
|
||||
lbz $acc09,9($inp)
|
||||
lbz $acc10,10($inp)
|
||||
insrwi $s0,$acc00,8,0
|
||||
lbz $s2,11($inp)
|
||||
insrwi $s1,$acc04,8,0
|
||||
lbz $acc12,12($inp)
|
||||
insrwi $s0,$acc01,8,8
|
||||
lbz $acc13,13($inp)
|
||||
insrwi $s1,$acc05,8,8
|
||||
lbz $acc14,14($inp)
|
||||
insrwi $s0,$acc02,8,16
|
||||
lbz $s3,15($inp)
|
||||
insrwi $s1,$acc06,8,16
|
||||
insrwi $s2,$acc08,8,0
|
||||
insrwi $s3,$acc12,8,0
|
||||
insrwi $s2,$acc09,8,8
|
||||
insrwi $s3,$acc13,8,8
|
||||
insrwi $s2,$acc10,8,16
|
||||
insrwi $s3,$acc14,8,16
|
||||
|
||||
bl LAES_Td
|
||||
bl Lppc_AES_decrypt_compact
|
||||
|
||||
extrwi $acc00,$s0,8,0
|
||||
extrwi $acc01,$s0,8,8
|
||||
stb $acc00,0($out)
|
||||
extrwi $acc02,$s0,8,16
|
||||
stb $acc01,1($out)
|
||||
stb $acc02,2($out)
|
||||
extrwi $acc04,$s1,8,0
|
||||
stb $s0,3($out)
|
||||
extrwi $acc05,$s1,8,8
|
||||
stb $acc04,4($out)
|
||||
extrwi $acc06,$s1,8,16
|
||||
stb $acc05,5($out)
|
||||
stb $acc06,6($out)
|
||||
extrwi $acc08,$s2,8,0
|
||||
stb $s1,7($out)
|
||||
extrwi $acc09,$s2,8,8
|
||||
stb $acc08,8($out)
|
||||
extrwi $acc10,$s2,8,16
|
||||
stb $acc09,9($out)
|
||||
stb $acc10,10($out)
|
||||
extrwi $acc12,$s3,8,0
|
||||
stb $s2,11($out)
|
||||
extrwi $acc13,$s3,8,8
|
||||
stb $acc12,12($out)
|
||||
extrwi $acc14,$s3,8,16
|
||||
stb $acc13,13($out)
|
||||
stb $acc14,14($out)
|
||||
stb $s3,15($out)
|
||||
|
||||
Ldec_done:
|
||||
$POP r0,`$FRAME+$LRSAVE`($sp)
|
||||
$POP r0,`$FRAME-$SIZE_T*21`($sp)
|
||||
$POP $toc,`$FRAME-$SIZE_T*20`($sp)
|
||||
$POP r13,`$FRAME-$SIZE_T*19`($sp)
|
||||
$POP r14,`$FRAME-$SIZE_T*18`($sp)
|
||||
@@ -906,21 +737,18 @@ Ldec_done:
|
||||
mtlr r0
|
||||
addi $sp,$sp,$FRAME
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,18,3,0
|
||||
.long 0
|
||||
|
||||
.align 5
|
||||
Lppc_AES_decrypt:
|
||||
lwz $acc00,240($key)
|
||||
addi $Tbl1,$Tbl0,3
|
||||
lwz $t0,0($key)
|
||||
addi $Tbl2,$Tbl0,2
|
||||
lwz $t1,4($key)
|
||||
addi $Tbl3,$Tbl0,1
|
||||
lwz $t2,8($key)
|
||||
addi $acc00,$acc00,-1
|
||||
lwz $t3,12($key)
|
||||
addi $Tbl1,$Tbl0,3
|
||||
addi $Tbl2,$Tbl0,2
|
||||
addi $Tbl3,$Tbl0,1
|
||||
addi $acc00,$acc00,-1
|
||||
addi $key,$key,16
|
||||
xor $s0,$s0,$t0
|
||||
xor $s1,$s1,$t1
|
||||
@@ -934,44 +762,44 @@ Ldec_loop:
|
||||
rlwinm $acc02,$s2,`32-24+3`,21,28
|
||||
rlwinm $acc03,$s3,`32-24+3`,21,28
|
||||
lwz $t0,0($key)
|
||||
rlwinm $acc04,$s3,`32-16+3`,21,28
|
||||
lwz $t1,4($key)
|
||||
rlwinm $acc04,$s3,`32-16+3`,21,28
|
||||
rlwinm $acc05,$s0,`32-16+3`,21,28
|
||||
lwz $t2,8($key)
|
||||
rlwinm $acc06,$s1,`32-16+3`,21,28
|
||||
lwz $t3,12($key)
|
||||
rlwinm $acc06,$s1,`32-16+3`,21,28
|
||||
rlwinm $acc07,$s2,`32-16+3`,21,28
|
||||
lwzx $acc00,$Tbl0,$acc00
|
||||
rlwinm $acc08,$s2,`32-8+3`,21,28
|
||||
lwzx $acc01,$Tbl0,$acc01
|
||||
rlwinm $acc08,$s2,`32-8+3`,21,28
|
||||
rlwinm $acc09,$s3,`32-8+3`,21,28
|
||||
lwzx $acc02,$Tbl0,$acc02
|
||||
rlwinm $acc10,$s0,`32-8+3`,21,28
|
||||
lwzx $acc03,$Tbl0,$acc03
|
||||
rlwinm $acc10,$s0,`32-8+3`,21,28
|
||||
rlwinm $acc11,$s1,`32-8+3`,21,28
|
||||
lwzx $acc04,$Tbl1,$acc04
|
||||
rlwinm $acc12,$s1,`0+3`,21,28
|
||||
lwzx $acc05,$Tbl1,$acc05
|
||||
rlwinm $acc12,$s1,`0+3`,21,28
|
||||
rlwinm $acc13,$s2,`0+3`,21,28
|
||||
lwzx $acc06,$Tbl1,$acc06
|
||||
rlwinm $acc14,$s3,`0+3`,21,28
|
||||
lwzx $acc07,$Tbl1,$acc07
|
||||
rlwinm $acc14,$s3,`0+3`,21,28
|
||||
rlwinm $acc15,$s0,`0+3`,21,28
|
||||
lwzx $acc08,$Tbl2,$acc08
|
||||
xor $t0,$t0,$acc00
|
||||
lwzx $acc09,$Tbl2,$acc09
|
||||
xor $t0,$t0,$acc00
|
||||
xor $t1,$t1,$acc01
|
||||
lwzx $acc10,$Tbl2,$acc10
|
||||
xor $t2,$t2,$acc02
|
||||
lwzx $acc11,$Tbl2,$acc11
|
||||
xor $t2,$t2,$acc02
|
||||
xor $t3,$t3,$acc03
|
||||
lwzx $acc12,$Tbl3,$acc12
|
||||
xor $t0,$t0,$acc04
|
||||
lwzx $acc13,$Tbl3,$acc13
|
||||
xor $t0,$t0,$acc04
|
||||
xor $t1,$t1,$acc05
|
||||
lwzx $acc14,$Tbl3,$acc14
|
||||
xor $t2,$t2,$acc06
|
||||
lwzx $acc15,$Tbl3,$acc15
|
||||
xor $t2,$t2,$acc06
|
||||
xor $t3,$t3,$acc07
|
||||
xor $t0,$t0,$acc08
|
||||
xor $t1,$t1,$acc09
|
||||
@@ -987,56 +815,56 @@ Ldec_loop:
|
||||
addi $Tbl2,$Tbl0,2048
|
||||
nop
|
||||
lwz $t0,0($key)
|
||||
rlwinm $acc00,$s0,`32-24`,24,31
|
||||
lwz $t1,4($key)
|
||||
rlwinm $acc00,$s0,`32-24`,24,31
|
||||
rlwinm $acc01,$s1,`32-24`,24,31
|
||||
lwz $t2,8($key)
|
||||
rlwinm $acc02,$s2,`32-24`,24,31
|
||||
lwz $t3,12($key)
|
||||
rlwinm $acc02,$s2,`32-24`,24,31
|
||||
rlwinm $acc03,$s3,`32-24`,24,31
|
||||
lwz $acc08,`2048+0`($Tbl0) ! prefetch Td4
|
||||
rlwinm $acc04,$s3,`32-16`,24,31
|
||||
lwz $acc09,`2048+32`($Tbl0)
|
||||
rlwinm $acc04,$s3,`32-16`,24,31
|
||||
rlwinm $acc05,$s0,`32-16`,24,31
|
||||
lwz $acc10,`2048+64`($Tbl0)
|
||||
lbzx $acc00,$Tbl2,$acc00
|
||||
lwz $acc11,`2048+96`($Tbl0)
|
||||
lbzx $acc00,$Tbl2,$acc00
|
||||
lbzx $acc01,$Tbl2,$acc01
|
||||
lwz $acc12,`2048+128`($Tbl0)
|
||||
rlwinm $acc06,$s1,`32-16`,24,31
|
||||
lwz $acc13,`2048+160`($Tbl0)
|
||||
rlwinm $acc06,$s1,`32-16`,24,31
|
||||
rlwinm $acc07,$s2,`32-16`,24,31
|
||||
lwz $acc14,`2048+192`($Tbl0)
|
||||
rlwinm $acc08,$s2,`32-8`,24,31
|
||||
lwz $acc15,`2048+224`($Tbl0)
|
||||
rlwinm $acc08,$s2,`32-8`,24,31
|
||||
rlwinm $acc09,$s3,`32-8`,24,31
|
||||
lbzx $acc02,$Tbl2,$acc02
|
||||
rlwinm $acc10,$s0,`32-8`,24,31
|
||||
lbzx $acc03,$Tbl2,$acc03
|
||||
rlwinm $acc10,$s0,`32-8`,24,31
|
||||
rlwinm $acc11,$s1,`32-8`,24,31
|
||||
lbzx $acc04,$Tbl2,$acc04
|
||||
rlwinm $acc12,$s1,`0`,24,31
|
||||
lbzx $acc05,$Tbl2,$acc05
|
||||
rlwinm $acc12,$s1,`0`,24,31
|
||||
rlwinm $acc13,$s2,`0`,24,31
|
||||
lbzx $acc06,$Tbl2,$acc06
|
||||
rlwinm $acc14,$s3,`0`,24,31
|
||||
lbzx $acc07,$Tbl2,$acc07
|
||||
rlwinm $acc14,$s3,`0`,24,31
|
||||
rlwinm $acc15,$s0,`0`,24,31
|
||||
lbzx $acc08,$Tbl2,$acc08
|
||||
rlwinm $s0,$acc00,24,0,7
|
||||
lbzx $acc09,$Tbl2,$acc09
|
||||
rlwinm $s0,$acc00,24,0,7
|
||||
rlwinm $s1,$acc01,24,0,7
|
||||
lbzx $acc10,$Tbl2,$acc10
|
||||
rlwinm $s2,$acc02,24,0,7
|
||||
lbzx $acc11,$Tbl2,$acc11
|
||||
rlwinm $s2,$acc02,24,0,7
|
||||
rlwinm $s3,$acc03,24,0,7
|
||||
lbzx $acc12,$Tbl2,$acc12
|
||||
rlwimi $s0,$acc04,16,8,15
|
||||
lbzx $acc13,$Tbl2,$acc13
|
||||
rlwimi $s0,$acc04,16,8,15
|
||||
rlwimi $s1,$acc05,16,8,15
|
||||
lbzx $acc14,$Tbl2,$acc14
|
||||
rlwimi $s2,$acc06,16,8,15
|
||||
lbzx $acc15,$Tbl2,$acc15
|
||||
rlwimi $s2,$acc06,16,8,15
|
||||
rlwimi $s3,$acc07,16,8,15
|
||||
rlwimi $s0,$acc08,8,16,23
|
||||
rlwimi $s1,$acc09,8,16,23
|
||||
@@ -1051,22 +879,20 @@ Ldec_loop:
|
||||
xor $s2,$s2,$t2
|
||||
xor $s3,$s3,$t3
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
|
||||
.align 4
|
||||
Lppc_AES_decrypt_compact:
|
||||
lwz $acc00,240($key)
|
||||
addi $Tbl1,$Tbl0,2048
|
||||
lwz $t0,0($key)
|
||||
lis $mask80,0x8080
|
||||
lwz $t1,4($key)
|
||||
lis $mask1b,0x1b1b
|
||||
lwz $t2,8($key)
|
||||
ori $mask80,$mask80,0x8080
|
||||
lwz $t3,12($key)
|
||||
ori $mask1b,$mask1b,0x1b1b
|
||||
addi $Tbl1,$Tbl0,2048
|
||||
lis $mask80,0x8080
|
||||
lis $mask1b,0x1b1b
|
||||
addi $key,$key,16
|
||||
ori $mask80,$mask80,0x8080
|
||||
ori $mask1b,$mask1b,0x1b1b
|
||||
___
|
||||
$code.=<<___ if ($SIZE_T==8);
|
||||
insrdi $mask80,$mask80,32,0
|
||||
@@ -1078,10 +904,10 @@ $code.=<<___;
|
||||
Ldec_compact_loop:
|
||||
xor $s0,$s0,$t0
|
||||
xor $s1,$s1,$t1
|
||||
rlwinm $acc00,$s0,`32-24`,24,31
|
||||
xor $s2,$s2,$t2
|
||||
rlwinm $acc01,$s1,`32-24`,24,31
|
||||
xor $s3,$s3,$t3
|
||||
rlwinm $acc00,$s0,`32-24`,24,31
|
||||
rlwinm $acc01,$s1,`32-24`,24,31
|
||||
rlwinm $acc02,$s2,`32-24`,24,31
|
||||
rlwinm $acc03,$s3,`32-24`,24,31
|
||||
rlwinm $acc04,$s3,`32-16`,24,31
|
||||
@@ -1089,48 +915,48 @@ Ldec_compact_loop:
|
||||
rlwinm $acc06,$s1,`32-16`,24,31
|
||||
rlwinm $acc07,$s2,`32-16`,24,31
|
||||
lbzx $acc00,$Tbl1,$acc00
|
||||
rlwinm $acc08,$s2,`32-8`,24,31
|
||||
lbzx $acc01,$Tbl1,$acc01
|
||||
rlwinm $acc08,$s2,`32-8`,24,31
|
||||
rlwinm $acc09,$s3,`32-8`,24,31
|
||||
lbzx $acc02,$Tbl1,$acc02
|
||||
rlwinm $acc10,$s0,`32-8`,24,31
|
||||
lbzx $acc03,$Tbl1,$acc03
|
||||
rlwinm $acc10,$s0,`32-8`,24,31
|
||||
rlwinm $acc11,$s1,`32-8`,24,31
|
||||
lbzx $acc04,$Tbl1,$acc04
|
||||
rlwinm $acc12,$s1,`0`,24,31
|
||||
lbzx $acc05,$Tbl1,$acc05
|
||||
rlwinm $acc12,$s1,`0`,24,31
|
||||
rlwinm $acc13,$s2,`0`,24,31
|
||||
lbzx $acc06,$Tbl1,$acc06
|
||||
rlwinm $acc14,$s3,`0`,24,31
|
||||
lbzx $acc07,$Tbl1,$acc07
|
||||
rlwinm $acc14,$s3,`0`,24,31
|
||||
rlwinm $acc15,$s0,`0`,24,31
|
||||
lbzx $acc08,$Tbl1,$acc08
|
||||
rlwinm $s0,$acc00,24,0,7
|
||||
lbzx $acc09,$Tbl1,$acc09
|
||||
rlwinm $s0,$acc00,24,0,7
|
||||
rlwinm $s1,$acc01,24,0,7
|
||||
lbzx $acc10,$Tbl1,$acc10
|
||||
rlwinm $s2,$acc02,24,0,7
|
||||
lbzx $acc11,$Tbl1,$acc11
|
||||
rlwinm $s2,$acc02,24,0,7
|
||||
rlwinm $s3,$acc03,24,0,7
|
||||
lbzx $acc12,$Tbl1,$acc12
|
||||
rlwimi $s0,$acc04,16,8,15
|
||||
lbzx $acc13,$Tbl1,$acc13
|
||||
rlwimi $s0,$acc04,16,8,15
|
||||
rlwimi $s1,$acc05,16,8,15
|
||||
lbzx $acc14,$Tbl1,$acc14
|
||||
rlwimi $s2,$acc06,16,8,15
|
||||
lbzx $acc15,$Tbl1,$acc15
|
||||
rlwimi $s2,$acc06,16,8,15
|
||||
rlwimi $s3,$acc07,16,8,15
|
||||
rlwimi $s0,$acc08,8,16,23
|
||||
rlwimi $s1,$acc09,8,16,23
|
||||
rlwimi $s2,$acc10,8,16,23
|
||||
rlwimi $s3,$acc11,8,16,23
|
||||
lwz $t0,0($key)
|
||||
or $s0,$s0,$acc12
|
||||
lwz $t1,4($key)
|
||||
or $s0,$s0,$acc12
|
||||
or $s1,$s1,$acc13
|
||||
lwz $t2,8($key)
|
||||
or $s2,$s2,$acc14
|
||||
lwz $t3,12($key)
|
||||
or $s2,$s2,$acc14
|
||||
or $s3,$s3,$acc15
|
||||
|
||||
addi $key,$key,16
|
||||
@@ -1204,12 +1030,12 @@ $code.=<<___ if ($SIZE_T==4);
|
||||
and $acc02,$s2,$mask80
|
||||
and $acc03,$s3,$mask80
|
||||
srwi $acc04,$acc00,7 # r1>>7
|
||||
andc $acc08,$s0,$mask80 # r0&0x7f7f7f7f
|
||||
srwi $acc05,$acc01,7
|
||||
andc $acc09,$s1,$mask80
|
||||
srwi $acc06,$acc02,7
|
||||
andc $acc10,$s2,$mask80
|
||||
srwi $acc07,$acc03,7
|
||||
andc $acc08,$s0,$mask80 # r0&0x7f7f7f7f
|
||||
andc $acc09,$s1,$mask80
|
||||
andc $acc10,$s2,$mask80
|
||||
andc $acc11,$s3,$mask80
|
||||
sub $acc00,$acc00,$acc04 # r1-(r1>>7)
|
||||
sub $acc01,$acc01,$acc05
|
||||
@@ -1233,12 +1059,12 @@ $code.=<<___ if ($SIZE_T==4);
|
||||
and $acc06,$acc02,$mask80
|
||||
and $acc07,$acc03,$mask80
|
||||
srwi $acc08,$acc04,7 # r1>>7
|
||||
andc $acc12,$acc00,$mask80 # r2&0x7f7f7f7f
|
||||
srwi $acc09,$acc05,7
|
||||
andc $acc13,$acc01,$mask80
|
||||
srwi $acc10,$acc06,7
|
||||
andc $acc14,$acc02,$mask80
|
||||
srwi $acc11,$acc07,7
|
||||
andc $acc12,$acc00,$mask80 # r2&0x7f7f7f7f
|
||||
andc $acc13,$acc01,$mask80
|
||||
andc $acc14,$acc02,$mask80
|
||||
andc $acc15,$acc03,$mask80
|
||||
sub $acc04,$acc04,$acc08 # r1-(r1>>7)
|
||||
sub $acc05,$acc05,$acc09
|
||||
@@ -1259,13 +1085,13 @@ $code.=<<___ if ($SIZE_T==4);
|
||||
|
||||
and $acc08,$acc04,$mask80 # r1=r4&0x80808080
|
||||
and $acc09,$acc05,$mask80
|
||||
srwi $acc12,$acc08,7 # r1>>7
|
||||
and $acc10,$acc06,$mask80
|
||||
srwi $acc13,$acc09,7
|
||||
and $acc11,$acc07,$mask80
|
||||
srwi $acc12,$acc08,7 # r1>>7
|
||||
srwi $acc13,$acc09,7
|
||||
srwi $acc14,$acc10,7
|
||||
sub $acc08,$acc08,$acc12 # r1-(r1>>7)
|
||||
srwi $acc15,$acc11,7
|
||||
sub $acc08,$acc08,$acc12 # r1-(r1>>7)
|
||||
sub $acc09,$acc09,$acc13
|
||||
sub $acc10,$acc10,$acc14
|
||||
sub $acc11,$acc11,$acc15
|
||||
@@ -1298,10 +1124,10 @@ ___
|
||||
$code.=<<___;
|
||||
rotrwi $s0,$s0,8 # = ROTATE(r0,8)
|
||||
rotrwi $s1,$s1,8
|
||||
xor $s0,$s0,$acc00 # ^= r2^r0
|
||||
rotrwi $s2,$s2,8
|
||||
xor $s1,$s1,$acc01
|
||||
rotrwi $s3,$s3,8
|
||||
xor $s0,$s0,$acc00 # ^= r2^r0
|
||||
xor $s1,$s1,$acc01
|
||||
xor $s2,$s2,$acc02
|
||||
xor $s3,$s3,$acc03
|
||||
xor $acc00,$acc00,$acc08
|
||||
@@ -1309,32 +1135,32 @@ $code.=<<___;
|
||||
xor $acc02,$acc02,$acc10
|
||||
xor $acc03,$acc03,$acc11
|
||||
xor $s0,$s0,$acc04 # ^= r4^r0
|
||||
rotrwi $acc00,$acc00,24
|
||||
xor $s1,$s1,$acc05
|
||||
rotrwi $acc01,$acc01,24
|
||||
xor $s2,$s2,$acc06
|
||||
rotrwi $acc02,$acc02,24
|
||||
xor $s3,$s3,$acc07
|
||||
rotrwi $acc00,$acc00,24
|
||||
rotrwi $acc01,$acc01,24
|
||||
rotrwi $acc02,$acc02,24
|
||||
rotrwi $acc03,$acc03,24
|
||||
xor $acc04,$acc04,$acc08
|
||||
xor $acc05,$acc05,$acc09
|
||||
xor $acc06,$acc06,$acc10
|
||||
xor $acc07,$acc07,$acc11
|
||||
xor $s0,$s0,$acc08 # ^= r8 [^((r4^r0)^(r2^r0)=r4^r2)]
|
||||
rotrwi $acc04,$acc04,16
|
||||
xor $s1,$s1,$acc09
|
||||
rotrwi $acc05,$acc05,16
|
||||
xor $s2,$s2,$acc10
|
||||
rotrwi $acc06,$acc06,16
|
||||
xor $s3,$s3,$acc11
|
||||
rotrwi $acc04,$acc04,16
|
||||
rotrwi $acc05,$acc05,16
|
||||
rotrwi $acc06,$acc06,16
|
||||
rotrwi $acc07,$acc07,16
|
||||
xor $s0,$s0,$acc00 # ^= ROTATE(r8^r2^r0,24)
|
||||
rotrwi $acc08,$acc08,8
|
||||
xor $s1,$s1,$acc01
|
||||
rotrwi $acc09,$acc09,8
|
||||
xor $s2,$s2,$acc02
|
||||
rotrwi $acc10,$acc10,8
|
||||
xor $s3,$s3,$acc03
|
||||
rotrwi $acc08,$acc08,8
|
||||
rotrwi $acc09,$acc09,8
|
||||
rotrwi $acc10,$acc10,8
|
||||
rotrwi $acc11,$acc11,8
|
||||
xor $s0,$s0,$acc04 # ^= ROTATE(r8^r4^r0,16)
|
||||
xor $s1,$s1,$acc05
|
||||
@@ -1353,9 +1179,7 @@ Ldec_compact_done:
|
||||
xor $s2,$s2,$t2
|
||||
xor $s3,$s3,$t3
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
|
||||
.long 0
|
||||
.asciz "AES for PPC, CRYPTOGAMS by <appro\@openssl.org>"
|
||||
.align 7
|
||||
___
|
||||
|
||||
1054
deps/openssl/openssl/crypto/aes/asm/aes-s390x.pl
vendored
1054
deps/openssl/openssl/crypto/aes/asm/aes-s390x.pl
vendored
File diff suppressed because it is too large
Load Diff
3
deps/openssl/openssl/crypto/aes/asm/aes-sparcv9.pl
vendored
Executable file → Normal file
3
deps/openssl/openssl/crypto/aes/asm/aes-sparcv9.pl
vendored
Executable file → Normal file
@@ -1176,7 +1176,6 @@ ___
|
||||
# As UltraSPARC T1, a.k.a. Niagara, has shared FPU, FP nops can have
|
||||
# undesired effect, so just omit them and sacrifice some portion of
|
||||
# percent in performance...
|
||||
$code =~ s/fmovs.*$//gm;
|
||||
$code =~ s/fmovs.*$//gem;
|
||||
|
||||
print $code;
|
||||
close STDOUT; # ensure flush
|
||||
|
||||
@@ -36,8 +36,7 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1;
|
||||
( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or
|
||||
die "can't locate x86_64-xlate.pl";
|
||||
|
||||
open OUT,"| \"$^X\" $xlate $flavour $output";
|
||||
*STDOUT=*OUT;
|
||||
open STDOUT,"| $^X $xlate $flavour $output";
|
||||
|
||||
$verticalspin=1; # unlike 32-bit version $verticalspin performs
|
||||
# ~15% better on both AMD and Intel cores
|
||||
@@ -589,9 +588,6 @@ $code.=<<___;
|
||||
.globl AES_encrypt
|
||||
.type AES_encrypt,\@function,3
|
||||
.align 16
|
||||
.globl asm_AES_encrypt
|
||||
.hidden asm_AES_encrypt
|
||||
asm_AES_encrypt:
|
||||
AES_encrypt:
|
||||
push %rbx
|
||||
push %rbp
|
||||
@@ -1188,9 +1184,6 @@ $code.=<<___;
|
||||
.globl AES_decrypt
|
||||
.type AES_decrypt,\@function,3
|
||||
.align 16
|
||||
.globl asm_AES_decrypt
|
||||
.hidden asm_AES_decrypt
|
||||
asm_AES_decrypt:
|
||||
AES_decrypt:
|
||||
push %rbx
|
||||
push %rbp
|
||||
@@ -1284,13 +1277,13 @@ $code.=<<___;
|
||||
___
|
||||
}
|
||||
|
||||
# int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits,
|
||||
# int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
|
||||
# AES_KEY *key)
|
||||
$code.=<<___;
|
||||
.globl private_AES_set_encrypt_key
|
||||
.type private_AES_set_encrypt_key,\@function,3
|
||||
.globl AES_set_encrypt_key
|
||||
.type AES_set_encrypt_key,\@function,3
|
||||
.align 16
|
||||
private_AES_set_encrypt_key:
|
||||
AES_set_encrypt_key:
|
||||
push %rbx
|
||||
push %rbp
|
||||
push %r12 # redundant, but allows to share
|
||||
@@ -1311,7 +1304,7 @@ private_AES_set_encrypt_key:
|
||||
add \$56,%rsp
|
||||
.Lenc_key_epilogue:
|
||||
ret
|
||||
.size private_AES_set_encrypt_key,.-private_AES_set_encrypt_key
|
||||
.size AES_set_encrypt_key,.-AES_set_encrypt_key
|
||||
|
||||
.type _x86_64_AES_set_encrypt_key,\@abi-omnipotent
|
||||
.align 16
|
||||
@@ -1554,13 +1547,13 @@ $code.=<<___;
|
||||
___
|
||||
}
|
||||
|
||||
# int private_AES_set_decrypt_key(const unsigned char *userKey, const int bits,
|
||||
# int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
|
||||
# AES_KEY *key)
|
||||
$code.=<<___;
|
||||
.globl private_AES_set_decrypt_key
|
||||
.type private_AES_set_decrypt_key,\@function,3
|
||||
.globl AES_set_decrypt_key
|
||||
.type AES_set_decrypt_key,\@function,3
|
||||
.align 16
|
||||
private_AES_set_decrypt_key:
|
||||
AES_set_decrypt_key:
|
||||
push %rbx
|
||||
push %rbp
|
||||
push %r12
|
||||
@@ -1629,7 +1622,7 @@ $code.=<<___;
|
||||
add \$56,%rsp
|
||||
.Ldec_key_epilogue:
|
||||
ret
|
||||
.size private_AES_set_decrypt_key,.-private_AES_set_decrypt_key
|
||||
.size AES_set_decrypt_key,.-AES_set_decrypt_key
|
||||
___
|
||||
|
||||
# void AES_cbc_encrypt (const void char *inp, unsigned char *out,
|
||||
@@ -1655,9 +1648,6 @@ $code.=<<___;
|
||||
.type AES_cbc_encrypt,\@function,6
|
||||
.align 16
|
||||
.extern OPENSSL_ia32cap_P
|
||||
.globl asm_AES_cbc_encrypt
|
||||
.hidden asm_AES_cbc_encrypt
|
||||
asm_AES_cbc_encrypt:
|
||||
AES_cbc_encrypt:
|
||||
cmp \$0,%rdx # check length
|
||||
je .Lcbc_epilogue
|
||||
@@ -2776,13 +2766,13 @@ cbc_se_handler:
|
||||
.rva .LSEH_end_AES_decrypt
|
||||
.rva .LSEH_info_AES_decrypt
|
||||
|
||||
.rva .LSEH_begin_private_AES_set_encrypt_key
|
||||
.rva .LSEH_end_private_AES_set_encrypt_key
|
||||
.rva .LSEH_info_private_AES_set_encrypt_key
|
||||
.rva .LSEH_begin_AES_set_encrypt_key
|
||||
.rva .LSEH_end_AES_set_encrypt_key
|
||||
.rva .LSEH_info_AES_set_encrypt_key
|
||||
|
||||
.rva .LSEH_begin_private_AES_set_decrypt_key
|
||||
.rva .LSEH_end_private_AES_set_decrypt_key
|
||||
.rva .LSEH_info_private_AES_set_decrypt_key
|
||||
.rva .LSEH_begin_AES_set_decrypt_key
|
||||
.rva .LSEH_end_AES_set_decrypt_key
|
||||
.rva .LSEH_info_AES_set_decrypt_key
|
||||
|
||||
.rva .LSEH_begin_AES_cbc_encrypt
|
||||
.rva .LSEH_end_AES_cbc_encrypt
|
||||
@@ -2798,11 +2788,11 @@ cbc_se_handler:
|
||||
.byte 9,0,0,0
|
||||
.rva block_se_handler
|
||||
.rva .Ldec_prologue,.Ldec_epilogue # HandlerData[]
|
||||
.LSEH_info_private_AES_set_encrypt_key:
|
||||
.LSEH_info_AES_set_encrypt_key:
|
||||
.byte 9,0,0,0
|
||||
.rva key_se_handler
|
||||
.rva .Lenc_key_prologue,.Lenc_key_epilogue # HandlerData[]
|
||||
.LSEH_info_private_AES_set_decrypt_key:
|
||||
.LSEH_info_AES_set_decrypt_key:
|
||||
.byte 9,0,0,0
|
||||
.rva key_se_handler
|
||||
.rva .Ldec_key_prologue,.Ldec_key_epilogue # HandlerData[]
|
||||
|
||||
2
deps/openssl/openssl/crypto/asn1/Makefile
vendored
2
deps/openssl/openssl/crypto/asn1/Makefile
vendored
@@ -639,7 +639,7 @@ t_x509.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
|
||||
t_x509.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
||||
t_x509.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
|
||||
t_x509.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
|
||||
t_x509.o: ../cryptlib.h asn1_locl.h t_x509.c
|
||||
t_x509.o: ../cryptlib.h t_x509.c
|
||||
t_x509a.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||
t_x509a.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
||||
t_x509a.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
|
||||
|
||||
6
deps/openssl/openssl/crypto/asn1/a_digest.c
vendored
6
deps/openssl/openssl/crypto/asn1/a_digest.c
vendored
@@ -87,8 +87,7 @@ int ASN1_digest(i2d_of_void *i2d, const EVP_MD *type, char *data,
|
||||
p=str;
|
||||
i2d(data,&p);
|
||||
|
||||
if (!EVP_Digest(str, i, md, len, type, NULL))
|
||||
return 0;
|
||||
EVP_Digest(str, i, md, len, type, NULL);
|
||||
OPENSSL_free(str);
|
||||
return(1);
|
||||
}
|
||||
@@ -105,8 +104,7 @@ int ASN1_item_digest(const ASN1_ITEM *it, const EVP_MD *type, void *asn,
|
||||
i=ASN1_item_i2d(asn,&str, it);
|
||||
if (!str) return(0);
|
||||
|
||||
if (!EVP_Digest(str, i, md, len, type, NULL))
|
||||
return 0;
|
||||
EVP_Digest(str, i, md, len, type, NULL);
|
||||
OPENSSL_free(str);
|
||||
return(1);
|
||||
}
|
||||
|
||||
4
deps/openssl/openssl/crypto/asn1/a_int.c
vendored
4
deps/openssl/openssl/crypto/asn1/a_int.c
vendored
@@ -386,8 +386,8 @@ long ASN1_INTEGER_get(const ASN1_INTEGER *a)
|
||||
|
||||
if (a->length > (int)sizeof(long))
|
||||
{
|
||||
/* hmm... a bit ugly, return all ones */
|
||||
return -1;
|
||||
/* hmm... a bit ugly */
|
||||
return(0xffffffffL);
|
||||
}
|
||||
if (a->data == NULL)
|
||||
return 0;
|
||||
|
||||
115
deps/openssl/openssl/crypto/asn1/a_sign.c
vendored
115
deps/openssl/openssl/crypto/asn1/a_sign.c
vendored
@@ -184,9 +184,9 @@ int ASN1_sign(i2d_of_void *i2d, X509_ALGOR *algor1, X509_ALGOR *algor2,
|
||||
p=buf_in;
|
||||
|
||||
i2d(data,&p);
|
||||
if (!EVP_SignInit_ex(&ctx,type, NULL)
|
||||
|| !EVP_SignUpdate(&ctx,(unsigned char *)buf_in,inl)
|
||||
|| !EVP_SignFinal(&ctx,(unsigned char *)buf_out,
|
||||
EVP_SignInit_ex(&ctx,type, NULL);
|
||||
EVP_SignUpdate(&ctx,(unsigned char *)buf_in,inl);
|
||||
if (!EVP_SignFinal(&ctx,(unsigned char *)buf_out,
|
||||
(unsigned int *)&outl,pkey))
|
||||
{
|
||||
outl=0;
|
||||
@@ -218,100 +218,65 @@ int ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2,
|
||||
const EVP_MD *type)
|
||||
{
|
||||
EVP_MD_CTX ctx;
|
||||
EVP_MD_CTX_init(&ctx);
|
||||
if (!EVP_DigestSignInit(&ctx, NULL, type, NULL, pkey))
|
||||
{
|
||||
EVP_MD_CTX_cleanup(&ctx);
|
||||
return 0;
|
||||
}
|
||||
return ASN1_item_sign_ctx(it, algor1, algor2, signature, asn, &ctx);
|
||||
}
|
||||
|
||||
|
||||
int ASN1_item_sign_ctx(const ASN1_ITEM *it,
|
||||
X509_ALGOR *algor1, X509_ALGOR *algor2,
|
||||
ASN1_BIT_STRING *signature, void *asn, EVP_MD_CTX *ctx)
|
||||
{
|
||||
const EVP_MD *type;
|
||||
EVP_PKEY *pkey;
|
||||
unsigned char *buf_in=NULL,*buf_out=NULL;
|
||||
size_t inl=0,outl=0,outll=0;
|
||||
int inl=0,outl=0,outll=0;
|
||||
int signid, paramtype;
|
||||
int rv;
|
||||
|
||||
type = EVP_MD_CTX_md(ctx);
|
||||
pkey = EVP_PKEY_CTX_get0_pkey(ctx->pctx);
|
||||
|
||||
if (!type || !pkey)
|
||||
if (type == NULL)
|
||||
{
|
||||
ASN1err(ASN1_F_ASN1_ITEM_SIGN_CTX, ASN1_R_CONTEXT_NOT_INITIALISED);
|
||||
int def_nid;
|
||||
if (EVP_PKEY_get_default_digest_nid(pkey, &def_nid) > 0)
|
||||
type = EVP_get_digestbynid(def_nid);
|
||||
}
|
||||
|
||||
if (type == NULL)
|
||||
{
|
||||
ASN1err(ASN1_F_ASN1_ITEM_SIGN, ASN1_R_NO_DEFAULT_DIGEST);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (pkey->ameth->item_sign)
|
||||
if (type->flags & EVP_MD_FLAG_PKEY_METHOD_SIGNATURE)
|
||||
{
|
||||
rv = pkey->ameth->item_sign(ctx, it, asn, algor1, algor2,
|
||||
signature);
|
||||
if (rv == 1)
|
||||
outl = signature->length;
|
||||
/* Return value meanings:
|
||||
* <=0: error.
|
||||
* 1: method does everything.
|
||||
* 2: carry on as normal.
|
||||
* 3: ASN1 method sets algorithm identifiers: just sign.
|
||||
*/
|
||||
if (rv <= 0)
|
||||
ASN1err(ASN1_F_ASN1_ITEM_SIGN_CTX, ERR_R_EVP_LIB);
|
||||
if (rv <= 1)
|
||||
goto err;
|
||||
if (!pkey->ameth ||
|
||||
!OBJ_find_sigid_by_algs(&signid, EVP_MD_nid(type),
|
||||
pkey->ameth->pkey_id))
|
||||
{
|
||||
ASN1err(ASN1_F_ASN1_ITEM_SIGN,
|
||||
ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
rv = 2;
|
||||
signid = type->pkey_type;
|
||||
|
||||
if (rv == 2)
|
||||
{
|
||||
if (type->flags & EVP_MD_FLAG_PKEY_METHOD_SIGNATURE)
|
||||
{
|
||||
if (!pkey->ameth ||
|
||||
!OBJ_find_sigid_by_algs(&signid,
|
||||
EVP_MD_nid(type),
|
||||
pkey->ameth->pkey_id))
|
||||
{
|
||||
ASN1err(ASN1_F_ASN1_ITEM_SIGN_CTX,
|
||||
ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
signid = type->pkey_type;
|
||||
if (pkey->ameth->pkey_flags & ASN1_PKEY_SIGPARAM_NULL)
|
||||
paramtype = V_ASN1_NULL;
|
||||
else
|
||||
paramtype = V_ASN1_UNDEF;
|
||||
|
||||
if (pkey->ameth->pkey_flags & ASN1_PKEY_SIGPARAM_NULL)
|
||||
paramtype = V_ASN1_NULL;
|
||||
else
|
||||
paramtype = V_ASN1_UNDEF;
|
||||
|
||||
if (algor1)
|
||||
X509_ALGOR_set0(algor1, OBJ_nid2obj(signid), paramtype, NULL);
|
||||
if (algor2)
|
||||
X509_ALGOR_set0(algor2, OBJ_nid2obj(signid), paramtype, NULL);
|
||||
|
||||
}
|
||||
if (algor1)
|
||||
X509_ALGOR_set0(algor1, OBJ_nid2obj(signid), paramtype, NULL);
|
||||
if (algor2)
|
||||
X509_ALGOR_set0(algor2, OBJ_nid2obj(signid), paramtype, NULL);
|
||||
|
||||
EVP_MD_CTX_init(&ctx);
|
||||
inl=ASN1_item_i2d(asn,&buf_in, it);
|
||||
outll=outl=EVP_PKEY_size(pkey);
|
||||
buf_out=OPENSSL_malloc((unsigned int)outl);
|
||||
buf_out=(unsigned char *)OPENSSL_malloc((unsigned int)outl);
|
||||
if ((buf_in == NULL) || (buf_out == NULL))
|
||||
{
|
||||
outl=0;
|
||||
ASN1err(ASN1_F_ASN1_ITEM_SIGN_CTX,ERR_R_MALLOC_FAILURE);
|
||||
ASN1err(ASN1_F_ASN1_ITEM_SIGN,ERR_R_MALLOC_FAILURE);
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (!EVP_DigestSignUpdate(ctx, buf_in, inl)
|
||||
|| !EVP_DigestSignFinal(ctx, buf_out, &outl))
|
||||
EVP_SignInit_ex(&ctx,type, NULL);
|
||||
EVP_SignUpdate(&ctx,(unsigned char *)buf_in,inl);
|
||||
if (!EVP_SignFinal(&ctx,(unsigned char *)buf_out,
|
||||
(unsigned int *)&outl,pkey))
|
||||
{
|
||||
outl=0;
|
||||
ASN1err(ASN1_F_ASN1_ITEM_SIGN_CTX,ERR_R_EVP_LIB);
|
||||
ASN1err(ASN1_F_ASN1_ITEM_SIGN,ERR_R_EVP_LIB);
|
||||
goto err;
|
||||
}
|
||||
if (signature->data != NULL) OPENSSL_free(signature->data);
|
||||
@@ -324,7 +289,7 @@ int ASN1_item_sign_ctx(const ASN1_ITEM *it,
|
||||
signature->flags&= ~(ASN1_STRING_FLAG_BITS_LEFT|0x07);
|
||||
signature->flags|=ASN1_STRING_FLAG_BITS_LEFT;
|
||||
err:
|
||||
EVP_MD_CTX_cleanup(ctx);
|
||||
EVP_MD_CTX_cleanup(&ctx);
|
||||
if (buf_in != NULL)
|
||||
{ OPENSSL_cleanse((char *)buf_in,(unsigned int)inl); OPENSSL_free(buf_in); }
|
||||
if (buf_out != NULL)
|
||||
|
||||
1
deps/openssl/openssl/crypto/asn1/a_strex.c
vendored
1
deps/openssl/openssl/crypto/asn1/a_strex.c
vendored
@@ -568,7 +568,6 @@ int ASN1_STRING_to_UTF8(unsigned char **out, ASN1_STRING *in)
|
||||
mbflag |= MBSTRING_FLAG;
|
||||
memset(&stmp, 0, sizeof(stmp));
|
||||
stmp.data = NULL;
|
||||
stmp.length = 0;
|
||||
ret = ASN1_mbstring_copy(&str, in->data, in->length, mbflag, B_ASN1_UTF8STRING);
|
||||
if(ret < 0) return ret;
|
||||
*out = stmp.data;
|
||||
|
||||
83
deps/openssl/openssl/crypto/asn1/a_verify.c
vendored
83
deps/openssl/openssl/crypto/asn1/a_verify.c
vendored
@@ -101,13 +101,8 @@ int ASN1_verify(i2d_of_void *i2d, X509_ALGOR *a, ASN1_BIT_STRING *signature,
|
||||
p=buf_in;
|
||||
|
||||
i2d(data,&p);
|
||||
if (!EVP_VerifyInit_ex(&ctx,type, NULL)
|
||||
|| !EVP_VerifyUpdate(&ctx,(unsigned char *)buf_in,inl))
|
||||
{
|
||||
ASN1err(ASN1_F_ASN1_VERIFY,ERR_R_EVP_LIB);
|
||||
ret=0;
|
||||
goto err;
|
||||
}
|
||||
EVP_VerifyInit_ex(&ctx,type, NULL);
|
||||
EVP_VerifyUpdate(&ctx,(unsigned char *)buf_in,inl);
|
||||
|
||||
OPENSSL_cleanse(buf_in,(unsigned int)inl);
|
||||
OPENSSL_free(buf_in);
|
||||
@@ -131,21 +126,16 @@ err:
|
||||
#endif
|
||||
|
||||
|
||||
int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
|
||||
ASN1_BIT_STRING *signature, void *asn, EVP_PKEY *pkey)
|
||||
int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a, ASN1_BIT_STRING *signature,
|
||||
void *asn, EVP_PKEY *pkey)
|
||||
{
|
||||
EVP_MD_CTX ctx;
|
||||
const EVP_MD *type = NULL;
|
||||
unsigned char *buf_in=NULL;
|
||||
int ret= -1,inl;
|
||||
|
||||
int mdnid, pknid;
|
||||
|
||||
if (!pkey)
|
||||
{
|
||||
ASN1err(ASN1_F_ASN1_ITEM_VERIFY, ERR_R_PASSED_NULL_PARAMETER);
|
||||
return -1;
|
||||
}
|
||||
|
||||
EVP_MD_CTX_init(&ctx);
|
||||
|
||||
/* Convert signature OID into digest and public key OIDs */
|
||||
@@ -154,47 +144,25 @@ int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
|
||||
ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM);
|
||||
goto err;
|
||||
}
|
||||
if (mdnid == NID_undef)
|
||||
type=EVP_get_digestbynid(mdnid);
|
||||
if (type == NULL)
|
||||
{
|
||||
if (!pkey->ameth || !pkey->ameth->item_verify)
|
||||
{
|
||||
ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM);
|
||||
goto err;
|
||||
}
|
||||
ret = pkey->ameth->item_verify(&ctx, it, asn, a,
|
||||
signature, pkey);
|
||||
/* Return value of 2 means carry on, anything else means we
|
||||
* exit straight away: either a fatal error of the underlying
|
||||
* verification routine handles all verification.
|
||||
*/
|
||||
if (ret != 2)
|
||||
goto err;
|
||||
ret = -1;
|
||||
ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM);
|
||||
goto err;
|
||||
}
|
||||
else
|
||||
|
||||
/* Check public key OID matches public key type */
|
||||
if (EVP_PKEY_type(pknid) != pkey->ameth->pkey_id)
|
||||
{
|
||||
const EVP_MD *type;
|
||||
type=EVP_get_digestbynid(mdnid);
|
||||
if (type == NULL)
|
||||
{
|
||||
ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM);
|
||||
goto err;
|
||||
}
|
||||
|
||||
/* Check public key OID matches public key type */
|
||||
if (EVP_PKEY_type(pknid) != pkey->ameth->pkey_id)
|
||||
{
|
||||
ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ASN1_R_WRONG_PUBLIC_KEY_TYPE);
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (!EVP_DigestVerifyInit(&ctx, NULL, type, NULL, pkey))
|
||||
{
|
||||
ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ERR_R_EVP_LIB);
|
||||
ret=0;
|
||||
goto err;
|
||||
}
|
||||
ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ASN1_R_WRONG_PUBLIC_KEY_TYPE);
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (!EVP_VerifyInit_ex(&ctx,type, NULL))
|
||||
{
|
||||
ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ERR_R_EVP_LIB);
|
||||
ret=0;
|
||||
goto err;
|
||||
}
|
||||
|
||||
inl = ASN1_item_i2d(asn, &buf_in, it);
|
||||
@@ -205,18 +173,13 @@ int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (!EVP_DigestVerifyUpdate(&ctx,buf_in,inl))
|
||||
{
|
||||
ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ERR_R_EVP_LIB);
|
||||
ret=0;
|
||||
goto err;
|
||||
}
|
||||
EVP_VerifyUpdate(&ctx,(unsigned char *)buf_in,inl);
|
||||
|
||||
OPENSSL_cleanse(buf_in,(unsigned int)inl);
|
||||
OPENSSL_free(buf_in);
|
||||
|
||||
if (EVP_DigestVerifyFinal(&ctx,signature->data,
|
||||
(size_t)signature->length) <= 0)
|
||||
if (EVP_VerifyFinal(&ctx,(unsigned char *)signature->data,
|
||||
(unsigned int)signature->length,pkey) <= 0)
|
||||
{
|
||||
ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ERR_R_EVP_LIB);
|
||||
ret=0;
|
||||
|
||||
12
deps/openssl/openssl/crypto/asn1/ameth_lib.c
vendored
12
deps/openssl/openssl/crypto/asn1/ameth_lib.c
vendored
@@ -69,7 +69,6 @@ extern const EVP_PKEY_ASN1_METHOD dsa_asn1_meths[];
|
||||
extern const EVP_PKEY_ASN1_METHOD dh_asn1_meth;
|
||||
extern const EVP_PKEY_ASN1_METHOD eckey_asn1_meth;
|
||||
extern const EVP_PKEY_ASN1_METHOD hmac_asn1_meth;
|
||||
extern const EVP_PKEY_ASN1_METHOD cmac_asn1_meth;
|
||||
|
||||
/* Keep this sorted in type order !! */
|
||||
static const EVP_PKEY_ASN1_METHOD *standard_methods[] =
|
||||
@@ -91,8 +90,7 @@ static const EVP_PKEY_ASN1_METHOD *standard_methods[] =
|
||||
#ifndef OPENSSL_NO_EC
|
||||
&eckey_asn1_meth,
|
||||
#endif
|
||||
&hmac_asn1_meth,
|
||||
&cmac_asn1_meth
|
||||
&hmac_asn1_meth
|
||||
};
|
||||
|
||||
typedef int sk_cmp_fn_type(const char * const *a, const char * const *b);
|
||||
@@ -293,8 +291,6 @@ EVP_PKEY_ASN1_METHOD* EVP_PKEY_asn1_new(int id, int flags,
|
||||
if (!ameth)
|
||||
return NULL;
|
||||
|
||||
memset(ameth, 0, sizeof(EVP_PKEY_ASN1_METHOD));
|
||||
|
||||
ameth->pkey_id = id;
|
||||
ameth->pkey_base_id = id;
|
||||
ameth->pkey_flags = flags | ASN1_PKEY_DYNAMIC;
|
||||
@@ -329,9 +325,6 @@ EVP_PKEY_ASN1_METHOD* EVP_PKEY_asn1_new(int id, int flags,
|
||||
ameth->old_priv_encode = 0;
|
||||
ameth->old_priv_decode = 0;
|
||||
|
||||
ameth->item_verify = 0;
|
||||
ameth->item_sign = 0;
|
||||
|
||||
ameth->pkey_size = 0;
|
||||
ameth->pkey_bits = 0;
|
||||
|
||||
@@ -383,9 +376,6 @@ void EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst,
|
||||
dst->pkey_free = src->pkey_free;
|
||||
dst->pkey_ctrl = src->pkey_ctrl;
|
||||
|
||||
dst->item_sign = src->item_sign;
|
||||
dst->item_verify = src->item_verify;
|
||||
|
||||
}
|
||||
|
||||
void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth)
|
||||
|
||||
8
deps/openssl/openssl/crypto/asn1/asn1.h
vendored
8
deps/openssl/openssl/crypto/asn1/asn1.h
vendored
@@ -235,7 +235,7 @@ typedef struct asn1_object_st
|
||||
*/
|
||||
#define ASN1_STRING_FLAG_MSTRING 0x040
|
||||
/* This is the base type that holds just about everything :-) */
|
||||
struct asn1_string_st
|
||||
typedef struct asn1_string_st
|
||||
{
|
||||
int length;
|
||||
int type;
|
||||
@@ -245,7 +245,7 @@ struct asn1_string_st
|
||||
* input data has a non-zero 'unused bits' value, it will be
|
||||
* handled correctly */
|
||||
long flags;
|
||||
};
|
||||
} ASN1_STRING;
|
||||
|
||||
/* ASN1_ENCODING structure: this is used to save the received
|
||||
* encoding of an ASN1 type. This is useful to get round
|
||||
@@ -293,6 +293,7 @@ DECLARE_STACK_OF(ASN1_STRING_TABLE)
|
||||
* see asn1t.h
|
||||
*/
|
||||
typedef struct ASN1_TEMPLATE_st ASN1_TEMPLATE;
|
||||
typedef struct ASN1_ITEM_st ASN1_ITEM;
|
||||
typedef struct ASN1_TLC_st ASN1_TLC;
|
||||
/* This is just an opaque pointer */
|
||||
typedef struct ASN1_VALUE_st ASN1_VALUE;
|
||||
@@ -1193,7 +1194,6 @@ void ERR_load_ASN1_strings(void);
|
||||
#define ASN1_F_ASN1_ITEM_I2D_FP 193
|
||||
#define ASN1_F_ASN1_ITEM_PACK 198
|
||||
#define ASN1_F_ASN1_ITEM_SIGN 195
|
||||
#define ASN1_F_ASN1_ITEM_SIGN_CTX 220
|
||||
#define ASN1_F_ASN1_ITEM_UNPACK 199
|
||||
#define ASN1_F_ASN1_ITEM_VERIFY 197
|
||||
#define ASN1_F_ASN1_MBSTRING_NCOPY 122
|
||||
@@ -1266,7 +1266,6 @@ void ERR_load_ASN1_strings(void);
|
||||
#define ASN1_F_PKCS5_PBE2_SET_IV 167
|
||||
#define ASN1_F_PKCS5_PBE_SET 202
|
||||
#define ASN1_F_PKCS5_PBE_SET0_ALGOR 215
|
||||
#define ASN1_F_PKCS5_PBKDF2_SET 219
|
||||
#define ASN1_F_SMIME_READ_ASN1 212
|
||||
#define ASN1_F_SMIME_TEXT 213
|
||||
#define ASN1_F_X509_CINF_NEW 168
|
||||
@@ -1292,7 +1291,6 @@ void ERR_load_ASN1_strings(void);
|
||||
#define ASN1_R_BOOLEAN_IS_WRONG_LENGTH 106
|
||||
#define ASN1_R_BUFFER_TOO_SMALL 107
|
||||
#define ASN1_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER 108
|
||||
#define ASN1_R_CONTEXT_NOT_INITIALISED 217
|
||||
#define ASN1_R_DATA_IS_WRONG 109
|
||||
#define ASN1_R_DECODE_ERROR 110
|
||||
#define ASN1_R_DECODING_ERROR 111
|
||||
|
||||
5
deps/openssl/openssl/crypto/asn1/asn1_err.c
vendored
5
deps/openssl/openssl/crypto/asn1/asn1_err.c
vendored
@@ -1,6 +1,6 @@
|
||||
/* crypto/asn1/asn1_err.c */
|
||||
/* ====================================================================
|
||||
* Copyright (c) 1999-2011 The OpenSSL Project. All rights reserved.
|
||||
* Copyright (c) 1999-2009 The OpenSSL Project. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@@ -107,7 +107,6 @@ static ERR_STRING_DATA ASN1_str_functs[]=
|
||||
{ERR_FUNC(ASN1_F_ASN1_ITEM_I2D_FP), "ASN1_item_i2d_fp"},
|
||||
{ERR_FUNC(ASN1_F_ASN1_ITEM_PACK), "ASN1_item_pack"},
|
||||
{ERR_FUNC(ASN1_F_ASN1_ITEM_SIGN), "ASN1_item_sign"},
|
||||
{ERR_FUNC(ASN1_F_ASN1_ITEM_SIGN_CTX), "ASN1_item_sign_ctx"},
|
||||
{ERR_FUNC(ASN1_F_ASN1_ITEM_UNPACK), "ASN1_item_unpack"},
|
||||
{ERR_FUNC(ASN1_F_ASN1_ITEM_VERIFY), "ASN1_item_verify"},
|
||||
{ERR_FUNC(ASN1_F_ASN1_MBSTRING_NCOPY), "ASN1_mbstring_ncopy"},
|
||||
@@ -180,7 +179,6 @@ static ERR_STRING_DATA ASN1_str_functs[]=
|
||||
{ERR_FUNC(ASN1_F_PKCS5_PBE2_SET_IV), "PKCS5_pbe2_set_iv"},
|
||||
{ERR_FUNC(ASN1_F_PKCS5_PBE_SET), "PKCS5_pbe_set"},
|
||||
{ERR_FUNC(ASN1_F_PKCS5_PBE_SET0_ALGOR), "PKCS5_pbe_set0_algor"},
|
||||
{ERR_FUNC(ASN1_F_PKCS5_PBKDF2_SET), "PKCS5_pbkdf2_set"},
|
||||
{ERR_FUNC(ASN1_F_SMIME_READ_ASN1), "SMIME_read_ASN1"},
|
||||
{ERR_FUNC(ASN1_F_SMIME_TEXT), "SMIME_text"},
|
||||
{ERR_FUNC(ASN1_F_X509_CINF_NEW), "X509_CINF_NEW"},
|
||||
@@ -209,7 +207,6 @@ static ERR_STRING_DATA ASN1_str_reasons[]=
|
||||
{ERR_REASON(ASN1_R_BOOLEAN_IS_WRONG_LENGTH),"boolean is wrong length"},
|
||||
{ERR_REASON(ASN1_R_BUFFER_TOO_SMALL) ,"buffer too small"},
|
||||
{ERR_REASON(ASN1_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER),"cipher has no object identifier"},
|
||||
{ERR_REASON(ASN1_R_CONTEXT_NOT_INITIALISED),"context not initialised"},
|
||||
{ERR_REASON(ASN1_R_DATA_IS_WRONG) ,"data is wrong"},
|
||||
{ERR_REASON(ASN1_R_DECODE_ERROR) ,"decode error"},
|
||||
{ERR_REASON(ASN1_R_DECODING_ERROR) ,"decoding error"},
|
||||
|
||||
11
deps/openssl/openssl/crypto/asn1/asn1_locl.h
vendored
11
deps/openssl/openssl/crypto/asn1/asn1_locl.h
vendored
@@ -102,10 +102,6 @@ struct evp_pkey_asn1_method_st
|
||||
int (*param_cmp)(const EVP_PKEY *a, const EVP_PKEY *b);
|
||||
int (*param_print)(BIO *out, const EVP_PKEY *pkey, int indent,
|
||||
ASN1_PCTX *pctx);
|
||||
int (*sig_print)(BIO *out,
|
||||
const X509_ALGOR *sigalg, const ASN1_STRING *sig,
|
||||
int indent, ASN1_PCTX *pctx);
|
||||
|
||||
|
||||
void (*pkey_free)(EVP_PKEY *pkey);
|
||||
int (*pkey_ctrl)(EVP_PKEY *pkey, int op, long arg1, void *arg2);
|
||||
@@ -115,13 +111,6 @@ struct evp_pkey_asn1_method_st
|
||||
int (*old_priv_decode)(EVP_PKEY *pkey,
|
||||
const unsigned char **pder, int derlen);
|
||||
int (*old_priv_encode)(const EVP_PKEY *pkey, unsigned char **pder);
|
||||
/* Custom ASN1 signature verification */
|
||||
int (*item_verify)(EVP_MD_CTX *ctx, const ASN1_ITEM *it, void *asn,
|
||||
X509_ALGOR *a, ASN1_BIT_STRING *sig,
|
||||
EVP_PKEY *pkey);
|
||||
int (*item_sign)(EVP_MD_CTX *ctx, const ASN1_ITEM *it, void *asn,
|
||||
X509_ALGOR *alg1, X509_ALGOR *alg2,
|
||||
ASN1_BIT_STRING *sig);
|
||||
|
||||
} /* EVP_PKEY_ASN1_METHOD */;
|
||||
|
||||
|
||||
23
deps/openssl/openssl/crypto/asn1/asn_mime.c
vendored
23
deps/openssl/openssl/crypto/asn1/asn_mime.c
vendored
@@ -377,12 +377,8 @@ static int asn1_output_data(BIO *out, BIO *data, ASN1_VALUE *val, int flags,
|
||||
BIO *tmpbio;
|
||||
const ASN1_AUX *aux = it->funcs;
|
||||
ASN1_STREAM_ARG sarg;
|
||||
int rv = 1;
|
||||
|
||||
/* If data is not deteched or resigning then the output BIO is
|
||||
* already set up to finalise when it is written through.
|
||||
*/
|
||||
if (!(flags & SMIME_DETACHED) || (flags & PKCS7_REUSE_DIGEST))
|
||||
if (!(flags & SMIME_DETACHED))
|
||||
{
|
||||
SMIME_crlf_copy(data, out, flags);
|
||||
return 1;
|
||||
@@ -409,7 +405,7 @@ static int asn1_output_data(BIO *out, BIO *data, ASN1_VALUE *val, int flags,
|
||||
|
||||
/* Finalize structure */
|
||||
if (aux->asn1_cb(ASN1_OP_DETACHED_POST, &val, it, &sarg) <= 0)
|
||||
rv = 0;
|
||||
return 0;
|
||||
|
||||
/* Now remove any digests prepended to the BIO */
|
||||
|
||||
@@ -420,7 +416,7 @@ static int asn1_output_data(BIO *out, BIO *data, ASN1_VALUE *val, int flags,
|
||||
sarg.ndef_bio = tmpbio;
|
||||
}
|
||||
|
||||
return rv;
|
||||
return 1;
|
||||
|
||||
}
|
||||
|
||||
@@ -490,9 +486,9 @@ ASN1_VALUE *SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it)
|
||||
|
||||
if(strcmp(hdr->value, "application/x-pkcs7-signature") &&
|
||||
strcmp(hdr->value, "application/pkcs7-signature")) {
|
||||
sk_MIME_HEADER_pop_free(headers, mime_hdr_free);
|
||||
ASN1err(ASN1_F_SMIME_READ_ASN1,ASN1_R_SIG_INVALID_MIME_TYPE);
|
||||
ERR_add_error_data(2, "type: ", hdr->value);
|
||||
sk_MIME_HEADER_pop_free(headers, mime_hdr_free);
|
||||
sk_BIO_pop_free(parts, BIO_vfree);
|
||||
return NULL;
|
||||
}
|
||||
@@ -805,7 +801,7 @@ static MIME_HEADER *mime_hdr_new(char *name, char *value)
|
||||
if(name) {
|
||||
if(!(tmpname = BUF_strdup(name))) return NULL;
|
||||
for(p = tmpname ; *p; p++) {
|
||||
c = (unsigned char)*p;
|
||||
c = *p;
|
||||
if(isupper(c)) {
|
||||
c = tolower(c);
|
||||
*p = c;
|
||||
@@ -815,7 +811,7 @@ static MIME_HEADER *mime_hdr_new(char *name, char *value)
|
||||
if(value) {
|
||||
if(!(tmpval = BUF_strdup(value))) return NULL;
|
||||
for(p = tmpval ; *p; p++) {
|
||||
c = (unsigned char)*p;
|
||||
c = *p;
|
||||
if(isupper(c)) {
|
||||
c = tolower(c);
|
||||
*p = c;
|
||||
@@ -839,7 +835,7 @@ static int mime_hdr_addparam(MIME_HEADER *mhdr, char *name, char *value)
|
||||
tmpname = BUF_strdup(name);
|
||||
if(!tmpname) return 0;
|
||||
for(p = tmpname ; *p; p++) {
|
||||
c = (unsigned char)*p;
|
||||
c = *p;
|
||||
if(isupper(c)) {
|
||||
c = tolower(c);
|
||||
*p = c;
|
||||
@@ -862,17 +858,12 @@ static int mime_hdr_addparam(MIME_HEADER *mhdr, char *name, char *value)
|
||||
static int mime_hdr_cmp(const MIME_HEADER * const *a,
|
||||
const MIME_HEADER * const *b)
|
||||
{
|
||||
if (!(*a)->name || !(*b)->name)
|
||||
return !!(*a)->name - !!(*b)->name;
|
||||
|
||||
return(strcmp((*a)->name, (*b)->name));
|
||||
}
|
||||
|
||||
static int mime_param_cmp(const MIME_PARAM * const *a,
|
||||
const MIME_PARAM * const *b)
|
||||
{
|
||||
if (!(*a)->param_name || !(*b)->param_name)
|
||||
return !!(*a)->param_name - !!(*b)->param_name;
|
||||
return(strcmp((*a)->param_name, (*b)->param_name));
|
||||
}
|
||||
|
||||
|
||||
38
deps/openssl/openssl/crypto/asn1/n_pkey.c
vendored
38
deps/openssl/openssl/crypto/asn1/n_pkey.c
vendored
@@ -129,7 +129,6 @@ int i2d_RSA_NET(const RSA *a, unsigned char **pp,
|
||||
unsigned char buf[256],*zz;
|
||||
unsigned char key[EVP_MAX_KEY_LENGTH];
|
||||
EVP_CIPHER_CTX ctx;
|
||||
EVP_CIPHER_CTX_init(&ctx);
|
||||
|
||||
if (a == NULL) return(0);
|
||||
|
||||
@@ -207,28 +206,24 @@ int i2d_RSA_NET(const RSA *a, unsigned char **pp,
|
||||
i = strlen((char *)buf);
|
||||
/* If the key is used for SGC the algorithm is modified a little. */
|
||||
if(sgckey) {
|
||||
if (!EVP_Digest(buf, i, buf, NULL, EVP_md5(), NULL))
|
||||
goto err;
|
||||
EVP_Digest(buf, i, buf, NULL, EVP_md5(), NULL);
|
||||
memcpy(buf + 16, "SGCKEYSALT", 10);
|
||||
i = 26;
|
||||
}
|
||||
|
||||
if (!EVP_BytesToKey(EVP_rc4(),EVP_md5(),NULL,buf,i,1,key,NULL))
|
||||
goto err;
|
||||
EVP_BytesToKey(EVP_rc4(),EVP_md5(),NULL,buf,i,1,key,NULL);
|
||||
OPENSSL_cleanse(buf,256);
|
||||
|
||||
/* Encrypt private key in place */
|
||||
zz = enckey->enckey->digest->data;
|
||||
if (!EVP_EncryptInit_ex(&ctx,EVP_rc4(),NULL,key,NULL))
|
||||
goto err;
|
||||
if (!EVP_EncryptUpdate(&ctx,zz,&i,zz,pkeylen))
|
||||
goto err;
|
||||
if (!EVP_EncryptFinal_ex(&ctx,zz + i,&j))
|
||||
goto err;
|
||||
EVP_CIPHER_CTX_init(&ctx);
|
||||
EVP_EncryptInit_ex(&ctx,EVP_rc4(),NULL,key,NULL);
|
||||
EVP_EncryptUpdate(&ctx,zz,&i,zz,pkeylen);
|
||||
EVP_EncryptFinal_ex(&ctx,zz + i,&j);
|
||||
EVP_CIPHER_CTX_cleanup(&ctx);
|
||||
|
||||
ret = i2d_NETSCAPE_ENCRYPTED_PKEY(enckey, pp);
|
||||
err:
|
||||
EVP_CIPHER_CTX_cleanup(&ctx);
|
||||
NETSCAPE_ENCRYPTED_PKEY_free(enckey);
|
||||
NETSCAPE_PKEY_free(pkey);
|
||||
return(ret);
|
||||
@@ -293,7 +288,6 @@ static RSA *d2i_RSA_NET_2(RSA **a, ASN1_OCTET_STRING *os,
|
||||
const unsigned char *zz;
|
||||
unsigned char key[EVP_MAX_KEY_LENGTH];
|
||||
EVP_CIPHER_CTX ctx;
|
||||
EVP_CIPHER_CTX_init(&ctx);
|
||||
|
||||
i=cb((char *)buf,256,"Enter Private Key password:",0);
|
||||
if (i != 0)
|
||||
@@ -304,22 +298,19 @@ static RSA *d2i_RSA_NET_2(RSA **a, ASN1_OCTET_STRING *os,
|
||||
|
||||
i = strlen((char *)buf);
|
||||
if(sgckey){
|
||||
if (!EVP_Digest(buf, i, buf, NULL, EVP_md5(), NULL))
|
||||
goto err;
|
||||
EVP_Digest(buf, i, buf, NULL, EVP_md5(), NULL);
|
||||
memcpy(buf + 16, "SGCKEYSALT", 10);
|
||||
i = 26;
|
||||
}
|
||||
|
||||
if (!EVP_BytesToKey(EVP_rc4(),EVP_md5(),NULL,buf,i,1,key,NULL))
|
||||
goto err;
|
||||
EVP_BytesToKey(EVP_rc4(),EVP_md5(),NULL,buf,i,1,key,NULL);
|
||||
OPENSSL_cleanse(buf,256);
|
||||
|
||||
if (!EVP_DecryptInit_ex(&ctx,EVP_rc4(),NULL, key,NULL))
|
||||
goto err;
|
||||
if (!EVP_DecryptUpdate(&ctx,os->data,&i,os->data,os->length))
|
||||
goto err;
|
||||
if (!EVP_DecryptFinal_ex(&ctx,&(os->data[i]),&j))
|
||||
goto err;
|
||||
EVP_CIPHER_CTX_init(&ctx);
|
||||
EVP_DecryptInit_ex(&ctx,EVP_rc4(),NULL, key,NULL);
|
||||
EVP_DecryptUpdate(&ctx,os->data,&i,os->data,os->length);
|
||||
EVP_DecryptFinal_ex(&ctx,&(os->data[i]),&j);
|
||||
EVP_CIPHER_CTX_cleanup(&ctx);
|
||||
os->length=i+j;
|
||||
|
||||
zz=os->data;
|
||||
@@ -337,7 +328,6 @@ static RSA *d2i_RSA_NET_2(RSA **a, ASN1_OCTET_STRING *os,
|
||||
goto err;
|
||||
}
|
||||
err:
|
||||
EVP_CIPHER_CTX_cleanup(&ctx);
|
||||
NETSCAPE_PKEY_free(pkey);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
143
deps/openssl/openssl/crypto/asn1/p5_pbev2.c
vendored
143
deps/openssl/openssl/crypto/asn1/p5_pbev2.c
vendored
@@ -91,10 +91,12 @@ X509_ALGOR *PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter,
|
||||
unsigned char *aiv, int prf_nid)
|
||||
{
|
||||
X509_ALGOR *scheme = NULL, *kalg = NULL, *ret = NULL;
|
||||
int alg_nid, keylen;
|
||||
int alg_nid;
|
||||
EVP_CIPHER_CTX ctx;
|
||||
unsigned char iv[EVP_MAX_IV_LENGTH];
|
||||
PBKDF2PARAM *kdf = NULL;
|
||||
PBE2PARAM *pbe2 = NULL;
|
||||
ASN1_OCTET_STRING *osalt = NULL;
|
||||
ASN1_OBJECT *obj;
|
||||
|
||||
alg_nid = EVP_CIPHER_type(cipher);
|
||||
@@ -125,8 +127,7 @@ X509_ALGOR *PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter,
|
||||
EVP_CIPHER_CTX_init(&ctx);
|
||||
|
||||
/* Dummy cipherinit to just setup the IV, and PRF */
|
||||
if (!EVP_CipherInit_ex(&ctx, cipher, NULL, NULL, iv, 0))
|
||||
goto err;
|
||||
EVP_CipherInit_ex(&ctx, cipher, NULL, NULL, iv, 0);
|
||||
if(EVP_CIPHER_param_to_asn1(&ctx, scheme->parameter) < 0) {
|
||||
ASN1err(ASN1_F_PKCS5_PBE2_SET_IV,
|
||||
ASN1_R_ERROR_SETTING_CIPHER_PARAMS);
|
||||
@@ -144,21 +145,55 @@ X509_ALGOR *PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter,
|
||||
}
|
||||
EVP_CIPHER_CTX_cleanup(&ctx);
|
||||
|
||||
if(!(kdf = PBKDF2PARAM_new())) goto merr;
|
||||
if(!(osalt = M_ASN1_OCTET_STRING_new())) goto merr;
|
||||
|
||||
if (!saltlen) saltlen = PKCS5_SALT_LEN;
|
||||
if (!(osalt->data = OPENSSL_malloc (saltlen))) goto merr;
|
||||
osalt->length = saltlen;
|
||||
if (salt) memcpy (osalt->data, salt, saltlen);
|
||||
else if (RAND_pseudo_bytes (osalt->data, saltlen) < 0) goto merr;
|
||||
|
||||
if(iter <= 0) iter = PKCS5_DEFAULT_ITER;
|
||||
if(!ASN1_INTEGER_set(kdf->iter, iter)) goto merr;
|
||||
|
||||
/* Now include salt in kdf structure */
|
||||
kdf->salt->value.octet_string = osalt;
|
||||
kdf->salt->type = V_ASN1_OCTET_STRING;
|
||||
osalt = NULL;
|
||||
|
||||
/* If its RC2 then we'd better setup the key length */
|
||||
|
||||
if(alg_nid == NID_rc2_cbc)
|
||||
keylen = EVP_CIPHER_key_length(cipher);
|
||||
else
|
||||
keylen = -1;
|
||||
if(alg_nid == NID_rc2_cbc) {
|
||||
if(!(kdf->keylength = M_ASN1_INTEGER_new())) goto merr;
|
||||
if(!ASN1_INTEGER_set (kdf->keylength,
|
||||
EVP_CIPHER_key_length(cipher))) goto merr;
|
||||
}
|
||||
|
||||
/* Setup keyfunc */
|
||||
/* prf can stay NULL if we are using hmacWithSHA1 */
|
||||
if (prf_nid != NID_hmacWithSHA1)
|
||||
{
|
||||
kdf->prf = X509_ALGOR_new();
|
||||
if (!kdf->prf)
|
||||
goto merr;
|
||||
X509_ALGOR_set0(kdf->prf, OBJ_nid2obj(prf_nid),
|
||||
V_ASN1_NULL, NULL);
|
||||
}
|
||||
|
||||
X509_ALGOR_free(pbe2->keyfunc);
|
||||
/* Now setup the PBE2PARAM keyfunc structure */
|
||||
|
||||
pbe2->keyfunc = PKCS5_pbkdf2_set(iter, salt, saltlen, prf_nid, keylen);
|
||||
pbe2->keyfunc->algorithm = OBJ_nid2obj(NID_id_pbkdf2);
|
||||
|
||||
if (!pbe2->keyfunc)
|
||||
goto merr;
|
||||
/* Encode PBKDF2PARAM into parameter of pbe2 */
|
||||
|
||||
if(!(pbe2->keyfunc->parameter = ASN1_TYPE_new())) goto merr;
|
||||
|
||||
if(!ASN1_item_pack(kdf, ASN1_ITEM_rptr(PBKDF2PARAM),
|
||||
&pbe2->keyfunc->parameter->value.sequence)) goto merr;
|
||||
pbe2->keyfunc->parameter->type = V_ASN1_SEQUENCE;
|
||||
|
||||
PBKDF2PARAM_free(kdf);
|
||||
kdf = NULL;
|
||||
|
||||
/* Now set up top level AlgorithmIdentifier */
|
||||
|
||||
@@ -184,6 +219,8 @@ X509_ALGOR *PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter,
|
||||
err:
|
||||
PBE2PARAM_free(pbe2);
|
||||
/* Note 'scheme' is freed as part of pbe2 */
|
||||
M_ASN1_OCTET_STRING_free(osalt);
|
||||
PBKDF2PARAM_free(kdf);
|
||||
X509_ALGOR_free(kalg);
|
||||
X509_ALGOR_free(ret);
|
||||
|
||||
@@ -196,85 +233,3 @@ X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter,
|
||||
{
|
||||
return PKCS5_pbe2_set_iv(cipher, iter, salt, saltlen, NULL, -1);
|
||||
}
|
||||
|
||||
X509_ALGOR *PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen,
|
||||
int prf_nid, int keylen)
|
||||
{
|
||||
X509_ALGOR *keyfunc = NULL;
|
||||
PBKDF2PARAM *kdf = NULL;
|
||||
ASN1_OCTET_STRING *osalt = NULL;
|
||||
|
||||
if(!(kdf = PBKDF2PARAM_new()))
|
||||
goto merr;
|
||||
if(!(osalt = M_ASN1_OCTET_STRING_new()))
|
||||
goto merr;
|
||||
|
||||
kdf->salt->value.octet_string = osalt;
|
||||
kdf->salt->type = V_ASN1_OCTET_STRING;
|
||||
|
||||
if (!saltlen)
|
||||
saltlen = PKCS5_SALT_LEN;
|
||||
if (!(osalt->data = OPENSSL_malloc (saltlen)))
|
||||
goto merr;
|
||||
|
||||
osalt->length = saltlen;
|
||||
|
||||
if (salt)
|
||||
memcpy (osalt->data, salt, saltlen);
|
||||
else if (RAND_pseudo_bytes (osalt->data, saltlen) < 0)
|
||||
goto merr;
|
||||
|
||||
if(iter <= 0)
|
||||
iter = PKCS5_DEFAULT_ITER;
|
||||
|
||||
if(!ASN1_INTEGER_set(kdf->iter, iter))
|
||||
goto merr;
|
||||
|
||||
/* If have a key len set it up */
|
||||
|
||||
if(keylen > 0)
|
||||
{
|
||||
if(!(kdf->keylength = M_ASN1_INTEGER_new()))
|
||||
goto merr;
|
||||
if(!ASN1_INTEGER_set (kdf->keylength, keylen))
|
||||
goto merr;
|
||||
}
|
||||
|
||||
/* prf can stay NULL if we are using hmacWithSHA1 */
|
||||
if (prf_nid > 0 && prf_nid != NID_hmacWithSHA1)
|
||||
{
|
||||
kdf->prf = X509_ALGOR_new();
|
||||
if (!kdf->prf)
|
||||
goto merr;
|
||||
X509_ALGOR_set0(kdf->prf, OBJ_nid2obj(prf_nid),
|
||||
V_ASN1_NULL, NULL);
|
||||
}
|
||||
|
||||
/* Finally setup the keyfunc structure */
|
||||
|
||||
keyfunc = X509_ALGOR_new();
|
||||
if (!keyfunc)
|
||||
goto merr;
|
||||
|
||||
keyfunc->algorithm = OBJ_nid2obj(NID_id_pbkdf2);
|
||||
|
||||
/* Encode PBKDF2PARAM into parameter of pbe2 */
|
||||
|
||||
if(!(keyfunc->parameter = ASN1_TYPE_new()))
|
||||
goto merr;
|
||||
|
||||
if(!ASN1_item_pack(kdf, ASN1_ITEM_rptr(PBKDF2PARAM),
|
||||
&keyfunc->parameter->value.sequence))
|
||||
goto merr;
|
||||
keyfunc->parameter->type = V_ASN1_SEQUENCE;
|
||||
|
||||
PBKDF2PARAM_free(kdf);
|
||||
return keyfunc;
|
||||
|
||||
merr:
|
||||
ASN1err(ASN1_F_PKCS5_PBKDF2_SET,ERR_R_MALLOC_FAILURE);
|
||||
PBKDF2PARAM_free(kdf);
|
||||
X509_ALGOR_free(keyfunc);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user