summaryrefslogtreecommitdiffstats
path: root/lib/libcrypto/bn/asm
AgeCommit message (Collapse)AuthorFilesLines
2017-01-04Remove superfluous datatype that is 32 by default. Clang complainspatrick1-1/+1
about it and it's ok to remove it. This only came up as our clang is targeted at armv7 which enables the NEON instructions. ok kettenis@
2016-11-04Replace all uses of magic numbers when operating on OPENSSL_ia32_P[] bymiod4-12/+13
meaningful constants in a private header file, so that reviewers can actually get a chance to figure out what the code is attempting to do without knowing all cpuid bits. While there, turn it from an array of two 32-bit ints into a properly aligned 64-bit int. Use of OPENSSL_ia32_P is now restricted to the assembler parts. C code will now always use OPENSSL_cpu_caps() and check for the proper bits in the whole 64-bit word it returns. i386 tests and ok jsing@
2016-09-04Less S390.jsing3-1176/+0
ok deraadt@
2016-09-04Less IA64.jsing2-2406/+0
ok deraadt@
2016-09-03switch to a constant-time gather procedure for amd64 mont5 asmbcook1-197/+312
from OpenSSL commit 7f98aa7403a1244cf17d1aa489f5bb0f39bae431 CVE-2016-0702 ok beck@
2015-12-24More adress -> addressmmcc1-1/+1
2015-09-12Remove workaround for old SIMICS toolchain.miod1-45/+1
2015-09-12Remove horribly old and outdated `documentation' for the assembly code.miod1-27/+0
2015-09-11Fixup inter-bank movq/movd operations, emit bytes for pclmulqdq again.bcook2-12/+12
Fixes builds gcc + Apple's assembler, working on reenabling builds with older OpenBSD releases. based on OpenSSL commit: https://git.openssl.org/?p=openssl.git;a=commitdiff;h=902b30df193afc3417a96ba72a81ed390bd50de3 ok miod@
2015-08-18typosmiod1-1/+1
2015-02-25Fix CVE-2014-3570: properly calculate the square of a BIGNUM value.bcook2-533/+179
See https://www.openssl.org/news/secadv_20150108.txt for a more detailed discussion. Original OpenSSL patch here: https://github.com/openssl/openssl/commit/a7a44ba55cb4f884c6bc9ceac90072dea38e66d0 The regression test is modified a little for KNF. ok miod@
2014-10-28deregister; no binary changejsg1-3/+3
ok jsing@ miod@
2014-07-12typosmiod1-1/+1
2014-06-20Fix incorrect bounds check in amd64 assembly version of bn_mul_mont();miod2-4/+4
noticed and fix by Fedor Indutny of Joyent ( https://github.com/joyent/node/issues/7704 )
2014-06-12tags as requested by miod and teduderaadt1-0/+1
2014-06-06s/assember/assembler/ before someone gets offended. At the lastderaadt8-13/+13
hackathon, just saying 'ass ember' was enough to start giggles. Unfortunately far more offensive stuff remains in here...
2014-05-03typosmiod1-2/+2
2014-05-02More use of 64-bit registers which needs to be disabled under OpenBSD.miod1-0/+2
2014-05-01Do not output SOM-specific directives.miod1-0/+6
2014-05-01Fix include filename to get register name aliases under BSDmiod1-6/+1
2014-05-01dead meatmiod2-2528/+0
2014-04-30First pass at removing win64 support from the assembly generating Perljsing2-286/+0
scripts. We certainly do not need an identical copy of the win64 exception handler in each script (surely one copy would be sufficient). ok miod@
2014-04-28Remove WIN32, WIN64 and MINGW32 tentacles.miod1-4/+0
Also check for _LP64 rather than __arch64__ (the former being more reliable than __LP64__ or __arch64__) to tell 64-bit int platforms apart from 32-bit int platforms. Loosely based upon a diff from Martijn van Duren on tech@
2014-04-24Try to clean the maze of <openssl/bn.h> defines regarding the BN internals.miod1-10/+0
The intent of this change is to only keep support for two kind of architectures: - those with 32-bit int and long, and 64-bit long long, where ``long * long -> long long'' multiplication routines are available. - those with 64-bit int and long, and no 128-bit long long type. This gets rid of the SIXTY_FOUR_BIT_LONG, SIXTY_FOUR_BIT (not the same!), THIRTY_TWO_BIT, SIXTEEN_BIT and EIGHT_BIT defines. After this change, the types and defines are as follows: arch: 64bit 32bit rationale BN_LLONG undefined defined defined if l * l -> ll BN_ULLONG undefined u long long result of BN_LONG * BN_LONG BN_ULONG u long u int native register size BN_LONG long int the same, signed BN_BITS 128 64 size of 2*BN_ULONG in bits BN_BYTES 8 4 size of 2*BN_ULONG in bytes BN_BITS2 64 32 BN_BITS / 2 Tested on various 32-bit and 64-bit OpenBSD systems of various endianness.
2014-04-20theo found a file we don't seem to need, but just in case, i will pastetedu1-3/+0
the contents below: #!/usr/local/bin/perl # x86 assember
2014-04-15Go home, VMS, you're drunkmiod1-6440/+0
2014-04-13Import OpenSSL 1.0.1gmiod7-32/+36
2012-10-13import OpenSSL-1.0.1cdjm16-248/+10473
2012-01-05OpenSSL 1.0.0f: import upstream sourcedjm2-2/+4
2011-11-03import OpenSSL 1.0.0edjm3-61/+65
2010-10-01resolve conflicts, fix local changesdjm33-9894/+164
2010-10-01import OpenSSL-1.0.0adjm6-190/+220
2009-04-06import of OpenSSL 0.9.8kdjm11-0/+5309
2008-09-06resolve conflictsdjm2-22/+99
2008-09-06import of OpenSSL 0.9.8hdjm3-0/+821
2006-06-27import of openssl-0.9.7jdjm2-15/+24
2005-04-29resolve conflictsdjm1-130/+85
2005-04-29import of openssl-0.9.7g; tested on platforms from alpha to zaurus, ok deraadt@djm2-18/+2117
2004-04-08merge 0.9.7dmarkus1-1/+1
2004-04-07import openssl-0.9.7dmarkus1-1/+1
2003-11-18use bn_asm_vax.S (from netbsd); test + ok by miodmarkus1-1/+1
use asm code for i386, except for the CBC code, because it is not clean PIC code. add <machime/asm.h> support to x86unix.pl tested by: nick (on 30386), henning, djm, tedu, jmc and more; no shlib minor crank necessary, only internal symbols changed.
2003-05-12merge 0.9.7b with local changes; crank majors for libssl/libcryptomarkus2-130/+158
2003-05-11import 0.9.7b (without idea and rc5)markus2-64/+746
2002-05-15OpenSSL 0.9.7 stable 2002 05 08 mergebeck4-487/+1915
2001-08-01merge openssl 0.9.6b-enginebeck1-185/+245
Note that this is a maintenence release, API's appear *not* to have changed. As such, I have only increased the minor number on these libraries
2001-06-22openssl-engine-0.9.6a mergebeck3-6/+6
2000-12-15openssl-engine0.9.6 mergebeck3-0/+0
Again, be sure to whack an old /usr/obj/lib/libssl if you are doing builds
2000-12-15openssl-engine-0.9.6 mergebeck3-414/+3221
2000-04-15OpenSSL 0.9.5a mergebeck3-2779/+0
2000-03-19OpenSSL 0.9.5 mergebeck3-635/+1932
*warning* this bumps shared lib minors for libssl and libcrypto from 2.1 to 2.2 if you are using the ssl26 packages for ssh and other things to work you will need to get new ones (see ~beck/libsslsnap/<arch>) on cvs or ~beck/src-patent.tar.gz on cvs