summaryrefslogtreecommitdiffstats
path: root/lib/libcrypto/perlasm
AgeCommit message (Collapse)AuthorFilesLines
2017-12-11http://repzret.org/p/repzret/deraadt1-1/+1
My read of this: Long time ago (Think Conan, not dinasaurs) during the race to make speedier processors, a cpu vendor built a pipeline with a bad stall, and proposed a tremendously hasky workaround. A wizard adopted this into his perl scroll, and failed to reflect later when no compiler adopted the practice. This relic remains at the tail end of some functions in OpenSSL as ".byte 0xf3,0xc3". Banish it straight to hell. ok mlarkin, others also stared blankly
2017-06-28.init stub creation doesn't need a jmp + .align to reach a branch target,deraadt1-3/+0
just fall into the code. The .align created a FILL zone in the .init section, which on i386 was filled with a NOP-sled, something we want to get away from. discussed with kettenis and tom
2016-11-04Replace all uses of magic numbers when operating on OPENSSL_ia32_P[] bymiod3-5/+6
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@
2015-09-11Bring back the expansion-into-.byte-sequences routines removed in r1.9, butmiod1-12/+67
only define them if not building for the "openbsd" flavour. This way, non-obfuscated output can still be generated for analysis, by using the "openbsd" flavour (which OpenBSD HEAD will do), and obfuscated output, compatible with older as(1), will be generated for other platforms. The portable version of LibreSSL can then use "openbsd-portable" as the flavour for OpenBSD/amd64 so that generated files can be compiled with OpenBSD 5.7 and other older versions stuck with as(1) 2.15.
2015-09-11Fixup inter-bank movq/movd operations, emit bytes for pclmulqdq again.bcook1-1/+15
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-07-19Remove the logic responsible for outputting most AES-NI instructions asmiod1-61/+0
raw byte sequences. The toolchains have had some time to update and assemble the instructions correctly (except for p{ins,ext}rd which are not supported yet by as(1) under OpenBSD, but will be fixed shortly). Inspired by a discussion between tedu@ and John-Mark Gurney. Verified to still work on Mac OS X and average Linux distros by bcook@
2014-06-06s/assember/assembler/ before someone gets offended. At the lastderaadt1-1/+1
hackathon, just saying 'ass ember' was enough to start giggles. Unfortunately far more offensive stuff remains in here...
2014-06-02A few months back there was a big community fuss regarding direct-usederaadt2-21/+0
of the intel RDRAND instruction. Consensus was RDRAND should probably only be used as an additional source of entropy in a mixer. Guess which library bends over backwards to provide easy access to RDRAND? Yep. Guess which applications are using this support? Not even one... but still, this is being placed as a trap for someone. Send this support straight to the abyss. ok kettenis
2014-04-17Stop paying lip service to non-AT&T syntax assemblers in the x86 world.miod3-386/+1
2014-04-13Merge conflicts; remove MacOS, Netware, OS/2, VMS and Windows build machinery.miod1-1/+1
2014-04-13Import OpenSSL 1.0.1gmiod1-0/+1
2012-10-31On amd64 OPENSSL_cpuid_setup and OPENSSL_ia32cap_P are now hidden so we don'tkettenis1-4/+1
have to go through the PLT/GOT to get at them anymore. In fact going through the GOT now fails since we no longer have a GOT entry for OPENSSL_ia32cap_P. Fixes the problem spotted by jasper@ and sthen@. Based on a diff from mikeb@ who did most of the actual work of tracking down the issue. ok millert@, mikeb@
2012-10-13resolve conflictsdjm4-45/+277
2012-10-13import OpenSSL-1.0.1cdjm2-6/+26
2012-08-21When deciding whether we're PIC in a (generated) asm file, check for both PICpascal1-1/+1
and __PIC__ defines. Makes things easier for PIE. ok djm@
2011-11-03openssl-1.0.0e: resolve conflictsdjm2-3/+5
2010-10-06More OpenSSL fixes:djm1-1/+1
- Update local engines for the EVP API change (len u_int => size_t) - Use hw_cryptodev.c instead of eng_cryptodev.c - Make x86_64-xlate.pl always write to the output file and not stdout, fixing "make -j" builds (spotted by naddy@) ok naddy@
2010-10-01resolve conflicts, fix local changesdjm7-2381/+842
2010-10-01import OpenSSL-1.0.0adjm3-0/+583
2008-09-19fix some cause of bad TEXTREL on i386 and amd64otto2-6/+55
- global function calls in .init sections (diff makes them via PLT) - calls to global functions in aes-586.S (made static or local) - global variable accesses in rc4-x86_64.S (now made via GOT) from djm@large; ok miod@
2008-09-06resolve conflictsdjm5-113/+427
2008-09-06import of OpenSSL 0.9.8hdjm1-0/+554
2006-06-27resolve conflictsdjm2-2/+10
2005-05-10import i386 AES asm code from openssl.org; ok and help with testing djm@markus1-1/+9
2005-04-29resolve conflictsdjm4-4/+14
2003-11-18use bn_asm_vax.S (from netbsd); test + ok by miodmarkus2-3/+40
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-11-11merge 0.9.7c; minor bugsfixes;markus3-0/+9
API addition: ERR_release_err_state_table [make includes before you build libssl/libcrypto]
2003-05-12merge 0.9.7b with local changes; crank majors for libssl/libcryptomarkus5-30/+103
2002-09-10merge openssl-0.9.7-beta3, tested on vax by miod@markus1-0/+6
2002-09-05import openssl-0.9.7-beta3markus1-1/+1
2002-05-15OpenSSL 0.9.7 stable 2002 05 08 mergebeck1-0/+83
2001-08-01merge openssl 0.9.6b-enginebeck1-1/+1
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
2000-04-15OpenSSL 0.9.5a mergebeck3-3/+13
2000-03-19OpenSSL 0.9.5 mergebeck2-4/+11
*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
1999-09-29OpenSSL 0.9.4 mergebeck6-15/+828
1998-10-05Import of SSLeay-0.9.0b with RSA and IDEA stubbed + OpenBSD buildryker5-0/+1356
functionality for shared libs. Note that routines such as sslv2_init and friends that use RSA will not work due to lack of RSA in this library. Needs documentation and help from ports for easy upgrade to full functionality where legally possible.