aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/aes
Commit message (Collapse)AuthorAgeFilesLines
* Make sure the effect of "pic" / "no-pic" is used with assembler compilationsRichard Levitte2016-03-091-1/+1
| | | | | | | | | | | | | | Before the 'Introduce the "pic" / "no-pic" config option' commit, the shared_cflag value for the chosen config would be part of the make variable CFLAG, which got replicated into CFLAGS and ASFLAGS. Since said commit, the shared_cflag value has become a make variable of its own, SHARED_CFLAG (which is left empty in a "no-pic" build). However, ASFLAGS was forgotten. That's what's corrected with this change. Reviewed-by: Andy Polyakov <appro@openssl.org>
* Unified - adapt the generation of aes assembler to use GENERATERichard Levitte2016-03-095-58/+61
| | | | | | | | | This gets rid of the BEGINRAW..ENDRAW sections in crypto/aes/build.info. This also moves the assembler generating perl scripts to take the output file name as last command line argument, where necessary. Reviewed-by: Andy Polyakov <appro@openssl.org>
* SPARCv9 assembly pack: unify build rules and argument handling.Andy Polyakov2016-03-084-18/+24
| | | | | | | | | | Make all scripts produce .S, make interpretation of $(CFLAGS) pre-processor's responsibility, start accepting $(PERLASM_SCHEME). [$(PERLASM_SCHEME) is redundant in this case, because there are no deviataions between Solaris and Linux assemblers. This is purely to unify .pl->.S handling across all targets.] Reviewed-by: Richard Levitte <levitte@openssl.org>
* Always build library object files with shared library cflagsRichard Levitte2016-02-201-1/+1
| | | | | | | | | | | | | | | | This takes us away from the idea that we know exactly how our static libraries are going to get used. Instead, we make them available to build shareable things with, be it other shared libraries or DSOs. On the other hand, we also have greater control of when the shared library cflags. They will never be used with object files meant got binaries, such as apps/openssl or test/test*. With unified, we take this a bit further and prepare for having to deal with extra cflags specifically to be used with DSOs (dynamic engines), libraries and binaries (applications). Reviewed-by: Rich Salz <rsalz@openssl.org>
* Remove all special make depend flags, as well as OPENSSL_DOING_MAKEDEPENDRichard Levitte2016-02-181-1/+1
| | | | | | | | | | All those flags existed because we had all the dependencies versioned in the repository, and wanted to have it be consistent, no matter what the local configuration was. Now that the dependencies are gone from the versioned Makefile.ins, it makes much more sense to use the exact same flags as when compiling the object files. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Pass $(CC) to perlasm scripts via the environmentRichard Levitte2016-02-131-21/+21
| | | | | | | | It seems that on some platforms, the perlasm scripts call the C compiler for certain checks. These scripts need the environment variable CC to have the C compiler command. Reviewed-by: Rich Salz <rsalz@openssl.org>
* unified build scheme: add a "unified" template for Unix MakefileRichard Levitte2016-02-101-0/+59
| | | | | | This also adds all the raw sections needed for some files. Reviewed-by: Rich Salz <rsalz@openssl.org>
* GH601: Various spelling fixes.FdaSilvaYY2016-02-052-2/+2
| | | | | Signed-off-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
* unified build scheme: add build.info filesRichard Levitte2016-02-011-0/+4
| | | | | | | | | Now that we have the foundation for the "unified" build scheme in place, we add build.info files. They have been generated from the Makefiles in the same directories. Things that are platform specific will appear in later commits. Reviewed-by: Andy Polyakov <appro@openssl.org>
* Templatize util/domdRich Salz2016-01-291-2/+1
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* Remove /* foo.c */ commentsRich Salz2016-01-2610-10/+0
| | | | | | | | | | | | This was done by the following find . -name '*.[ch]' | /tmp/pl where /tmp/pl is the following three-line script: print unless $. == 1 && m@/\* .*\.[ch] \*/@; close ARGV if eof; # Close file to reset $. And then some hand-editing of other files. Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
* Remove update tagsRich Salz2016-01-201-2/+0
| | | | | Also remove depend/local_depend. Reviewed-by: Richard Levitte <levitte@openssl.org>
* Remove some old makefile targetsRich Salz2016-01-171-12/+0
| | | | | | | | Remove lint, tags, dclean, tests. This is prep for a new makedepend scheme. This is temporary pending unified makefile, and might help it. Reviewed-by: Richard Levitte <levitte@openssl.org>
* Move Makefiles to Makefile.inRich Salz2016-01-121-34/+0
| | | | | | | | | | Create Makefile's from Makefile.in Rename Makefile.org to Makefile.in Rename Makefiles to Makefile.in Address review feedback from Viktor and Richard Reviewed-by: Viktor Dukhovni <viktor@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* Remove the "eay" c-file-style indicatorsRichard Levitte2015-12-189-9/+9
| | | | | | | Since we don't use the eay style any more, there's no point tryint to tell emacs to use it. Reviewed-by: Matt Caswell <matt@openssl.org>
* x86_64 assembly pack: tune clang version detection even further.Andy Polyakov2015-12-133-3/+3
| | | | | | RT#4171 Reviewed-by: Kurt Roeckx <kurt@openssl.org>
* x86[_64] assembly pack: add optimized AES-NI OCB subroutines.Andy Polyakov2015-12-102-11/+1889
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* ARMv4 assembly pack: allow Thumb2 even in iOS build,Andy Polyakov2015-12-072-0/+2
| | | | | | and engage it in most modules. Reviewed-by: Tim Hudson <tjh@openssl.org>
* x86_64 assembly pack: tune clang version detection.Andy Polyakov2015-11-233-3/+3
| | | | | | RT#4142 Reviewed-by: Richard Levitte <levitte@openssl.org>
* aes/asm/vpaes-ppc.pl: eliminate overhung stores in misaligned cases.Andy Polyakov2015-11-181-62/+136
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* aesni-sha256-x86_64.pl: fix crash on AMD Jaguar.Andy Polyakov2015-11-161-5/+2
| | | | | | | It was also found that stich performs suboptimally on AMD Jaguar, hence execution is limited to XOP-capable and Intel processors. Reviewed-by: Kurt Roeckx <kurt@openssl.org>
* Fix typosAlessandro Ghedini2015-10-231-1/+1
| | | | | Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* Skylake performance results.Andy Polyakov2015-09-263-0/+4
| | | | Reviewed-by: Matt Caswell <matt@openssl.org>
* ARMv4 assembly pack: implement support for Thumb2.Andy Polyakov2015-09-251-14/+10
| | | | | | | As some of ARM processors, more specifically Cortex-Mx series, are Thumb2-only, we need to support Thumb2-only builds even in assembly. Reviewed-by: Tim Hudson <tjh@openssl.org>
* RT3999: Remove sub-component version stringsRich Salz2015-08-101-2/+0
| | | | | | Especially since after the #ifdef cleanups this is not useful. Reviewed-by: Matt Caswell <matt@openssl.org>
* Conversion to UTF-8 where neededRichard Levitte2015-07-142-9/+9
| | | | | | | | This leaves behind files with names ending with '.iso-8859-1'. These should be safe to remove. If something went wrong when re-encoding, there will be some files with names ending with '.utf8' left behind. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Fix the update target and remove duplicate file updatesRichard Levitte2015-05-221-0/+2
| | | | | | | | | | | | | | | We had updates of certain header files in both Makefile.org and the Makefile in the directory the header file lived in. This is error prone and also sometimes generates slightly different results (usually just a comment that differs) depending on which way the update was done. This removes the file update targets from the top level Makefile, adds an update: target in all Makefiles and has it depend on the depend: or local_depend: targets, whichever is appropriate, so we don't get a double run through the whole file tree. Reviewed-by: Rich Salz <rsalz@openssl.org>
* make dependRichard Levitte2015-05-141-2/+4
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Identify and move common internal libcrypto header filesRichard Levitte2015-05-142-2/+2
| | | | | | | | | | | | | There are header files in crypto/ that are used by a number of crypto/ submodules. Move those to crypto/include/internal and adapt the affected source code and Makefiles. The header files that got moved are: crypto/cryptolib.h crypto/md32_common.h Reviewed-by: Rich Salz <rsalz@openssl.org>
* aes/asm/bsaes-armv7.pl: fix compilation with Xcode 6.3.Andy Polyakov2015-05-131-2/+2
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* aes/asm/aesni-sha256-x86_64.pl: fix Windows compilation failure with old ↵Andy Polyakov2015-05-131-3/+3
| | | | | | assembler. Reviewed-by: Matt Caswell <matt@openssl.org>
* aes/asm/aesni-x86.pl: fix typo affecting Windows build.Andy Polyakov2015-04-201-1/+1
| | | | Reviewed-by: Matt Caswell <matt@openssl.org>
* aes/asm/aesni-x86[_64].pl update.Andy Polyakov2015-04-202-239/+1025
| | | | | | | | | | | | | This addresses - request for improvement for faster key setup in RT#3576; - clearing registers and stack in RT#3554 (this is more of a gesture to see if there will be some traction from compiler side); - more commentary around input parameters handling and stack layout (desired when RT#3553 was reviewed); - minor size and single block performance optimization (was lying around); Reviewed-by: Matt Caswell <matt@openssl.org>
* Add assembly support for 32-bit iOS.Andy Polyakov2015-04-202-12/+70
| | | | | Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* aes/asm/vpaes-armv8.pl: make it compile on iOS.Andy Polyakov2015-04-201-5/+8
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* aes/asm/aesv8-armx.pl: optimize for Cortex-A5x.Andy Polyakov2015-04-021-91/+118
| | | | | | | | | | | | | ARM has optimized Cortex-A5x pipeline to favour pairs of complementary AES instructions. While modified code improves performance of post-r0p0 Cortex-A53 performance by >40% (for CBC decrypt and CTR), it hurts original r0p0. We favour later revisions, because one can't prevent future from coming. Improvement on post-r0p0 Cortex-A57 exceeds 50%, while new code is not slower on r0p0, or Apple A7 for that matter. [Update even SHA results for latest Cortex-A53.] Reviewed-by: Richard Levitte <levitte@openssl.org>
* Remove EXHEADER, TEST, APPS, links:, install: and uninstall: where relevantRichard Levitte2015-03-311-18/+1
| | | | | | | | | | | | With no more symlinks, there's no need for those variables, or the links target. This also goes for all install: and uninstall: targets that do nothing but copy $(EXHEADER) files, since that's now taken care of by the top Makefile. Also, removed METHTEST from test/Makefile. It looks like an old test that's forgotten... Reviewed-by: Rich Salz <rsalz@openssl.org>
* Stop symlinking, move files to intended directoryRichard Levitte2015-03-311-139/+0
| | | | | | | | | | | | | Rather than making include/openssl/foo.h a symlink to crypto/foo/foo.h, this change moves the file to include/openssl/foo.h once and for all. Likewise, move crypto/foo/footest.c to test/footest.c, instead of symlinking it there. Originally-by: Geoff Thorpe <geoff@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
* Add vpaes-amrv8.pl module.Andy Polyakov2015-03-282-0/+1251
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* Fix undefined behaviour in shifts.Emilia Kasper2015-03-132-144/+144
| | | | | | | | | | | | | | | Td4 and Te4 are arrays of u8. A u8 << int promotes the u8 to an int first then shifts. If the mathematical result of a shift (as modelled by lhs * 2^{rhs}) is not representable in an integer, behaviour is undefined. In other words, you can't shift into the sign bit of a signed integer. Fix this by casting to u32 whenever we're shifting left by 24. (For consistency, cast other shifts, too.) Caught by -fsanitize=shift Submitted by Nick Lewycky (Google) Reviewed-by: Andy Polyakov <appro@openssl.org>
* Fix crash in SPARC T4 XTS.Andy Polyakov2015-02-241-1/+1
| | | | Reviewed-by: Tim Hudson <tjh@openssl.org>
* aes/asm/bsaes-armv7: fix kernel-side XTS and harmonize with Linux.Andy Polyakov2015-02-241-1/+3
| | | | | | XTS bug spotted and fix suggested by Adrian Kotelba. Reviewed-by: Tim Hudson <tjh@openssl.org>
* "#if 0" removal: header filesRich Salz2015-01-271-7/+0
| | | | | | Remove all "#if 0" blocks from header files. Reviewed-by: Tim Hudson <tjh@openssl.org>
* Add assembly support to ios64-cross.Andy Polyakov2015-01-231-3/+11
| | | | | | Fix typos in ios64-cross config line. Reviewed-by: Tim Hudson <tjh@openssl.org>
* Fix macosx-ppc build (and typos in unwind info).Andy Polyakov2015-01-221-2/+4
| | | | Reviewed-by: Tim Hudson <tjh@openssl.org>
* Run util/openssl-format-source -v -c .Matt Caswell2015-01-229-357/+370
| | | | Reviewed-by: Tim Hudson <tjh@openssl.org>
* Manually reformat aes_x86core.c and add it to the list of files skipped byMatt Caswell2015-01-221-514/+521
| | | | | | openssl-format-source Reviewed-by: Tim Hudson <tjh@openssl.org>
* Manually reformat aes_core.cMatt Caswell2015-01-221-400/+405
| | | | | | Add aes_core.c to the list of files not processed by openssl-format-source Reviewed-by: Tim Hudson <tjh@openssl.org>
* Fix irix-cc build.Andy Polyakov2015-01-071-1/+1
| | | | Reviewed-by: Matt Caswell <matt@openssl.org>
* Remove inconsistency in ARM support.Andy Polyakov2015-01-042-6/+10
| | | | | | | | | This facilitates "universal" builds, ones that target multiple architectures, e.g. ARMv5 through ARMv7. See commentary in Configure for details. Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Matt Caswell <matt@openssl.org>