summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/perlasm (follow)
Commit message (Collapse)AuthorAgeFilesLines
* http://repzret.org/p/repzret/deraadt2017-12-111-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
* .init stub creation doesn't need a jmp + .align to reach a branch target,deraadt2017-06-281-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
* Replace all uses of magic numbers when operating on OPENSSL_ia32_P[] bymiod2016-11-043-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@
* Bring back the expansion-into-.byte-sequences routines removed in r1.9, butmiod2015-09-111-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.
* Fixup inter-bank movq/movd operations, emit bytes for pclmulqdq again.bcook2015-09-111-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@
* Remove the logic responsible for outputting most AES-NI instructions asmiod2015-07-191-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@
* s/assember/assembler/ before someone gets offended. At the lastderaadt2014-06-061-1/+1
| | | | | hackathon, just saying 'ass ember' was enough to start giggles. Unfortunately far more offensive stuff remains in here...
* A few months back there was a big community fuss regarding direct-usederaadt2014-06-022-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
* Stop paying lip service to non-AT&T syntax assemblers in the x86 world.miod2014-04-173-386/+1
|
* Merge conflicts; remove MacOS, Netware, OS/2, VMS and Windows build machinery.miod2014-04-131-1/+1
|
* This commit was generated by cvs2git to track changes on a CVS vendormiod2014-04-131-0/+1
|\ | | | | branch.
| * Import OpenSSL 1.0.1gmiod2014-04-131-0/+1
| |
* | On amd64 OPENSSL_cpuid_setup and OPENSSL_ia32cap_P are now hidden so we don'tkettenis2012-10-311-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@
* | resolve conflictsdjm2012-10-134-45/+277
| |
* | This commit was generated by cvs2git to track changes on a CVS vendordjm2012-10-131-3/+16
|\| | | | | branch.
| * import OpenSSL-1.0.1cdjm2012-10-131-3/+16
| |
* | This commit was generated by cvs2git to track changes on a CVS vendordjm2012-10-131-3/+10
|\ \ | | | | | | branch.
| * | import OpenSSL-1.0.1cdjm2012-10-134-47/+276
| | |
| * | import OpenSSL 1.0.0edjm2011-11-032-3/+5
| | |
* | | When deciding whether we're PIC in a (generated) asm file, check for both PICpascal2012-08-211-1/+1
| | | | | | | | | | | | | | | | | | and __PIC__ defines. Makes things easier for PIE. ok djm@
* | | openssl-1.0.0e: resolve conflictsdjm2011-11-032-3/+5
| | |
* | | More OpenSSL fixes:djm2010-10-061-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@
* | | resolve conflicts, fix local changesdjm2010-10-017-2397/+858
| | |
* | | This commit was generated by cvs2git to track changes on a CVS vendordjm2010-10-012-0/+399
|\| | | | | | | | branch.
| * | import OpenSSL-1.0.0adjm2010-10-014-253/+1088
| | |
* | | This commit was generated by cvs2git to track changes on a CVS vendordjm2010-10-011-0/+184
|\ \ \ | | |/ | |/| branch.
| * | import OpenSSL-1.0.0adjm2010-10-011-0/+184
| /
* | fix some cause of bad TEXTREL on i386 and amd64otto2008-09-192-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@
* | resolve conflictsdjm2008-09-065-113/+427
| |
* | This commit was generated by cvs2git to track changes on a CVS vendordjm2008-09-061-0/+554
|\| | | | | branch.
| * import of OpenSSL 0.9.8hdjm2008-09-063-14/+571
| |
| * import of openssl-0.9.7jdjm2006-06-271-1/+1
| |
| * import of openssl-0.9.7g; tested on platforms from alpha to zaurus, ok deraadt@djm2005-04-291-0/+2
| |
| * import 0.9.7b (without idea and rc5)markus2003-05-112-20/+30
| |
| * import openssl-0.9.7-beta3markus2002-09-051-0/+6
| |
| * import openssl-0.9.7-beta1markus2002-09-052-7/+12
| |
* | resolve conflictsdjm2006-06-272-2/+10
| |
* | import i386 AES asm code from openssl.org; ok and help with testing djm@markus2005-05-101-1/+9
| |
* | resolve conflictsdjm2005-04-294-4/+14
| |
* | use bn_asm_vax.S (from netbsd); test + ok by miodmarkus2003-11-182-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.
* | merge 0.9.7c; minor bugsfixes;markus2003-11-113-0/+9
| | | | | | | | | | API addition: ERR_release_err_state_table [make includes before you build libssl/libcrypto]
* | merge 0.9.7b with local changes; crank majors for libssl/libcryptomarkus2003-05-125-30/+103
| |
* | merge openssl-0.9.7-beta3, tested on vax by miod@markus2002-09-102-1/+7
| |
* | OpenSSL 0.9.7 stable 2002 05 08 mergebeck2002-05-151-0/+83
| |
* | merge openssl 0.9.6b-enginebeck2001-08-011-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
* | OpenSSL 0.9.5a mergebeck2000-04-153-3/+13
| |
* | OpenSSL 0.9.5 mergebeck2000-03-192-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
* | OpenSSL 0.9.4 mergebeck1999-09-296-15/+828
| |
* | This commit was generated by cvs2git to track changes on a CVS vendorryker1998-10-052-0/+777
|\ \ | |/ |/| branch.
| * Import of SSLeay-0.9.0b with RSA and IDEA stubbed + OpenBSD buildryker1998-10-052-0/+777
| | | | | | | | | | 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.