summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/rc4/asm (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Use C functions for RC4 public API.jsing2024-03-282-14/+15
| | | | | | | | | | | | | | Rather than having public API switch between C and assembly, always use C functions as entry points, which then call an assembly implementation (if available). This makes it significantly easier to deal with symbol aliasing/namespaces and it also means we benefit from vulnerability prevention provided by the C compiler. Rename the assembly generated functions from RC4() to rc4_internal() and RC4_set_key() to rc4_set_key_internal(). Always include rc4.c and change it to use defines that are similar to those used in BN. ok beck@ joshua@ tb@
* Remove unused rc4 parisc assembly.jsing2024-03-271-294/+0
| | | | This is already disabled since it is "about 35% slower than C code".
* Remove assembly for stitched modes.jsing2024-03-271-515/+0
| | | | | The stitched modes have been removed, so having assembly for them is of little use.
* Replace uses of endbr64 with _CET_ENDBR from cet.htb2024-02-242-4/+4
| | | | | | | | | cet.h is needed for other platforms to emit the relevant .gnu.properties sections that are necessary for them to enable IBT. It also avoids issues with older toolchains on macOS that explode on encountering endbr64. based on a diff by kettenis ok beck kettenis
* Garbage collect rodata only used by RC4_options()tb2023-07-291-5/+0
| | | | build tested by miod
* Remove various ${thing}_optionstb2023-07-284-86/+0
| | | | | | | | | | Various, ancient ciphers exposed some of their innards via an _options() API. Apart from openssl version/speed, only some lua thingie in nmap ever looked at these. Go figure. hppa testing by miod, i386 testing by sthen. Thanks! ok jsing
* Add endbr64 where needed by inspection. Passes regresson tests.deraadt2023-04-252-1/+8
| | | | ok jsing, and kind of tb an earlier version
* Use explicit .text instead of .previous to please Windows/MinGW on amd64tb2023-02-231-1/+1
| | | | ok miod
* Use .section .rodata instead of a plain .rodatatb2023-02-091-1/+1
| | | | | | | | At least gcc 12 on Fedora is very unhappy about a plain .rodata and throws Error: unknown pseudo-op: `.rodata'. So add a .section in front of it to make it happy. ok deraadt miod
* Move all data blocks from .text to .rodata and cleanup up and homogeneize codemiod2023-02-011-11/+15
| | | | | | responsible from getting the proper address of those blocks. ok tb@ jsing@
* Move constants out of text segment into rodata to prepare for xonly supportderaadt2023-01-141-1/+2
| | | | | on amd64. no pic handling is neccessary since amd64 has full reach. ok kettenis
* Move all data tables from .text section to .rodata, and update the code tomiod2023-01-131-12/+9
| | | | | | | fetch them correctly when building PIC. Also drop unused data, and remove --no-execute-only from linker flags. ok jsing@ kettenis@
* spelling fixes; from paul tagliamontejmc2022-12-262-4/+4
| | | | | | | i removed the arithmetics -> arithmetic changes, as i felt they were not clearly correct ok tb
* Replace all uses of magic numbers when operating on OPENSSL_ia32_P[] bymiod2016-11-042-8/+10
| | | | | | | | | | | | | | | 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@
* Less S390.jsing2016-09-041-234/+0
| | | | ok deraadt@
* Less IA64.jsing2016-09-041-755/+0
| | | | ok deraadt@
* Remove private_{Camellia,RC4}_set_key FIPS indirection tentacles, as has beenmiod2014-07-124-12/+12
| | | | done for other symmetric algorithms recently.
* Do not output SOM-specific directives.miod2014-05-011-0/+6
|
* First pass at removing win64 support from the assembly generating Perljsing2014-04-302-241/+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@
* Merge conflicts; remove MacOS, Netware, OS/2, VMS and Windows build machinery.miod2014-04-131-1/+2
|
* This commit was generated by cvs2git to track changes on a CVS vendormiod2014-04-132-2/+4
|\ | | | | branch.
| * Import OpenSSL 1.0.1gmiod2014-04-133-3/+6
| |
* | On amd64 OPENSSL_cpuid_setup and OPENSSL_ia32cap_P are now hidden so we don'tkettenis2012-10-311-2/+2
| | | | | | | | | | | | | | | | | | | | 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-132-70/+382
| |
* | This commit was generated by cvs2git to track changes on a CVS vendordjm2012-10-133-9/+982
|\| | | | | branch.
| * import OpenSSL-1.0.1cdjm2012-10-135-79/+1364
| |
* | resolve conflicts, fix local changesdjm2010-10-014-609/+402
| |
* | This commit was generated by cvs2git to track changes on a CVS vendordjm2010-10-012-0/+960
|\| | | | | branch.
| * import OpenSSL-1.0.0adjm2010-10-014-223/+1361
| |
| * import openssl-0.9.8jdjm2009-01-091-0/+2
| |
* | resolve conflictsdjm2009-01-091-0/+2
| |
* | fix some cause of bad TEXTREL on i386 and amd64otto2008-09-191-3/+2
| | | | | | | | | | | | | | - 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-061-5/+6
| |
* | This commit was generated by cvs2git to track changes on a CVS vendordjm2008-09-061-36/+250
|\| | | | | branch.
| * import of OpenSSL 0.9.8hdjm2008-09-062-41/+256
| |
* | This commit was generated by cvs2git to track changes on a CVS vendordjm2008-09-061-3/+2
|\ \ | | | | | | branch.
| * | import of OpenSSL 0.9.8hdjm2008-09-061-3/+2
| | |
* | | This commit was generated by cvs2git to track changes on a CVS vendordjm2006-06-271-0/+150
|\ \ \ | | |/ | |/| branch.
| * | import of openssl-0.9.7jdjm2006-06-271-0/+150
| | |
| * | import of openssl-0.9.7g; tested on platforms from alpha to zaurus, ok deraadt@djm2005-04-291-29/+85
| | |
| * | import openssl-0.9.7-beta1markus2002-09-051-1/+1
| | |
* | | This commit was generated by cvs2git to track changes on a CVS vendordjm2006-06-271-31/+34
|\ \ \ | | |/ | |/| branch.
| * | import of openssl-0.9.7jdjm2006-06-271-31/+34
| | |
* | | resolve conflictsdjm2005-04-291-29/+85
| | |
* | | This commit was generated by cvs2git to track changes on a CVS vendordjm2005-04-291-0/+157
|\| | | | | | | | branch.
| * | import of openssl-0.9.7g; tested on platforms from alpha to zaurus, ok deraadt@djm2005-04-291-0/+157
| /
* | This commit was generated by cvs2git to track changes on a CVS vendordjm2005-04-291-0/+227
|\ \ | | | | | | branch.
| * | import of openssl-0.9.7g; tested on platforms from alpha to zaurus, ok deraadt@djm2005-04-291-0/+227
| /
* | openssl-engine0.9.6 mergebeck2000-12-151-0/+0
| | | | | | | | Again, be sure to whack an old /usr/obj/lib/libssl if you are doing builds
* | OpenSSL 0.9.5a mergebeck2000-04-151-314/+0
| |