summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/bn/asm (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Use explicit .text instead of .previous to please Windows/MinGW on amd64tb2023-02-231-1/+1
| | | | ok miod
* Replace bn_sub_part_words() with bn_sub().jsing2023-02-221-210/+0
| | | | | | | | Now that bn_sub() handles word arrays with potentially different lengths, we no longer need bn_sub_part_words() - call bn_sub() instead. This allows us to entirely remove the unnecessarily complex bn_sub_part_words() code. ok tb@
* Bye bye x86_64-gcc.c.jsing2023-02-111-559/+0
| | | | This is no longer used, since we're now using s2n-bignum functions instead.
* 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
* Remove AIX toc data after every function. NFCmiod2023-02-022-35/+0
|
* Move all data blocks from .text to .rodata and cleanup up and homogeneize codemiod2023-02-021-1/+0
| | | | responsible from getting the proper address of those blocks.
* Move all data blocks from .text to .rodata and cleanup up and homogeneize codemiod2023-02-013-9/+10
| | | | | | responsible from getting the proper address of those blocks. ok tb@ jsing@
* Remove sparc related files from libcrypto.jsing2023-01-311-1458/+0
| | | | | | | | The sparc platform got retired a while back, however some parts remained hiding in libcrypto. Mop these up (along with the bn_arch.h that I introduced). Spotted by and ok tb@
* Move {mul,sqr}_add_c{,2} macros from bn_asm.c to bn_local.h.jsing2023-01-201-1/+6
| | | | | | | | | | | These depend on other macros that are in already in bn_local.h and this makes them available to other source files. A lot more clean up will be needed in the future. Of course x86_64-gcc.c makes use of the same macro names - sprinkle some undef in there for the time being. ok tb@
* Remove more unused assembly generation scripts.jsing2023-01-198-696/+0
|
* Remove various unused assembly files and assembly generation scripts.jsing2023-01-196-6507/+0
| | | | | | These are just creating clutter and cause grep noise. ok miod@
* Move constants out of text segment into rodata to prepare for xonly supportderaadt2023-01-143-6/+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-132-4/+0
| | | | | | | fetch them correctly when building PIC. Also drop unused data, and remove --no-execute-only from linker flags. ok kettenis@
* Move all data tables from .text section to .rodata, and update the code tomiod2023-01-131-9/+1
| | | | | | | 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-2613-21/+21
| | | | | | | i removed the arithmetics -> arithmetic changes, as i felt they were not clearly correct ok tb
* Make internal header file names consistenttb2022-11-261-2/+2
| | | | | | | | | | | | | | | | Libcrypto currently has a mess of *_lcl.h, *_locl.h, and *_local.h names used for internal headers. Move all these headers we inherited from OpenSSL to *_local.h, reserving the name *_internal.h for our own code. Similarly, move dtls_locl.h and ssl_locl.h to dtls_local and ssl_local.h. constant_time_locl.h is moved to constant_time.h since it's special. Adjust all .c files in libcrypto, libssl and regress. The diff is mechanical with the exception of tls13_quic.c, where #include <ssl_locl.h> was fixed manually. discussed with jsing, no objection bcook
* Remove superfluous datatype that is 32 by default. Clang complainspatrick2017-01-041-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@
* Replace all uses of magic numbers when operating on OPENSSL_ia32_P[] bymiod2016-11-044-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@
* Less S390.jsing2016-09-043-1176/+0
| | | | ok deraadt@
* Less IA64.jsing2016-09-042-2406/+0
| | | | ok deraadt@
* switch to a constant-time gather procedure for amd64 mont5 asmbcook2016-09-031-199/+314
| | | | | | | from OpenSSL commit 7f98aa7403a1244cf17d1aa489f5bb0f39bae431 CVE-2016-0702 ok beck@
* More adress -> addressmmcc2015-12-241-1/+1
|
* Remove workaround for old SIMICS toolchain.miod2015-09-121-45/+1
|
* Remove horribly old and outdated `documentation' for the assembly code.miod2015-09-121-27/+0
|
* Fixup inter-bank movq/movd operations, emit bytes for pclmulqdq again.bcook2015-09-112-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@
* typosmiod2015-08-181-1/+1
|
* Fix CVE-2014-3570: properly calculate the square of a BIGNUM value.bcook2015-02-252-534/+180
| | | | | | | | | | | 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@
* deregister; no binary changejsg2014-10-281-3/+3
| | | | ok jsing@ miod@
* typosmiod2014-07-121-1/+1
|
* Fix incorrect bounds check in amd64 assembly version of bn_mul_mont();miod2014-06-202-4/+4
| | | | | noticed and fix by Fedor Indutny of Joyent ( https://github.com/joyent/node/issues/7704 )
* tags as requested by miod and teduderaadt2014-06-121-0/+1
|
* s/assember/assembler/ before someone gets offended. At the lastderaadt2014-06-068-13/+13
| | | | | hackathon, just saying 'ass ember' was enough to start giggles. Unfortunately far more offensive stuff remains in here...
* typosmiod2014-05-031-2/+2
|
* More use of 64-bit registers which needs to be disabled under OpenBSD.miod2014-05-021-0/+2
|
* Do not output SOM-specific directives.miod2014-05-011-0/+6
|
* Fix include filename to get register name aliases under BSDmiod2014-05-011-6/+1
|
* dead meatmiod2014-05-012-2528/+0
|
* First pass at removing win64 support from the assembly generating Perljsing2014-04-302-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@
* Remove WIN32, WIN64 and MINGW32 tentacles.miod2014-04-281-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@
* Try to clean the maze of <openssl/bn.h> defines regarding the BN internals.miod2014-04-241-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.
* theo found a file we don't seem to need, but just in case, i will pastetedu2014-04-201-3/+0
| | | | | | the contents below: #!/usr/local/bin/perl # x86 assember
* Go home, VMS, you're drunkmiod2014-04-151-6440/+0
|
* This commit was generated by cvs2git to track changes on a CVS vendormiod2014-04-137-32/+36
|\ | | | | branch.
| * Import OpenSSL 1.0.1gmiod2014-04-137-32/+36
| |
* | This commit was generated by cvs2git to track changes on a CVS vendordjm2012-10-1316-248/+10473
|\| | | | | branch.
| * import OpenSSL-1.0.1cdjm2012-10-1316-248/+10473
| |
* | This commit was generated by cvs2git to track changes on a CVS vendordjm2012-01-052-2/+4
|\| | | | | branch.
| * OpenSSL 1.0.0f: import upstream sourcedjm2012-01-052-2/+4
| |
* | This commit was generated by cvs2git to track changes on a CVS vendordjm2011-11-033-61/+65
|\| | | | | branch.
| * import OpenSSL 1.0.0edjm2011-11-033-61/+65
| |