summaryrefslogtreecommitdiffstats
path: root/crypto/aes/asm/aes-armv4.pl
AgeCommit message (Collapse)Author
2018-03-27Update copyright yearMatt Caswell
Reviewed-by: Richard Levitte <levitte@openssl.org>
2018-02-28Always use adr with __thumb2__.David Benjamin
Thumb2 addresses are a bit a mess, depending on whether a label is interpreted as a function pointer value (for use with BX and BLX) or as a program counter value (for use with PC-relative addressing). Clang's integrated assembler mis-assembles this code. See https://crbug.com/124610#c54 for details. Instead, use the ADR pseudo-instruction which has clear semantics and should be supported by every assembler that handles the OpenSSL Thumb2 code. (In other files, the ADR vs SUB conditionals are based on __thumb2__ already. For some reason, this one is based on __APPLE__, I'm guessing to deal with an older version of clang assembler.) It's unclear to me which of clang or binutils is "correct" or if this is even a well-defined notion beyond "whatever binutils does". But I will note that https://github.com/openssl/openssl/pull/4669 suggests binutils has also changed behavior around this before. Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/5431) (cherry picked from commit 8a5d8bc4bc1e835b62d988ad63454540be83d862)
2017-11-05aes/asm/{aes-armv4|bsaes-armv7}.pl: make it work with binutils-2.29.Andy Polyakov
It's not clear if it's a feature or bug, but binutils-2.29[.1] interprets 'adr' instruction with Thumb2 code reference differently, in a way that affects calculation of addresses of constants' tables. Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de> (Merged from https://github.com/openssl/openssl/pull/4669) (cherry picked from commit b82acc3c1a7f304c9df31841753a0fa76b5b3cda)
2016-05-21Add OpenSSL copyright to .pl filesRich Salz
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-11Fix some assembler generating scripts for better unificationRichard Levitte
Some of these scripts would recognise an output parameter if it looks like a file path. That works both in both the classic and new build schemes. Some fo these scripts would only recognise it if it's a basename (i.e. no directory component). Those need to be corrected, as the output parameter in the new build scheme is more likely to contain a directory component than not. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-02-05GH601: Various spelling fixes.FdaSilvaYY
Signed-off-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
2015-12-07ARMv4 assembly pack: allow Thumb2 even in iOS build,Andy Polyakov
and engage it in most modules. Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-09-25ARMv4 assembly pack: implement support for Thumb2.Andy Polyakov
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>
2015-04-20Add assembly support for 32-bit iOS.Andy Polyakov
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2014-06-06ARM assembly pack: get ARMv7 instruction endianness right.Andy Polyakov
Pointer out and suggested by: Ard Biesheuvel.
2013-10-01aes/asm/*-armv*.pl: compensate for inconsistencies in tool-chains.Andy Polyakov
Suggested by: Ard Biesheuvel
2013-09-20aes-armv4.pl, bsaes-armv7.pl: add Linux kernel and Thumb2 support.Andy Polyakov
Submitted by: Ard Biesheuvel
2012-04-05aes-armv4.pl: make it more foolproof [inspired by aes-s390x.pl in 1.0.1].Andy Polyakov
2011-04-01ARM assembler pack: profiler-assisted optimizations and NEON support.Andy Polyakov
2010-07-13ARM assembler pack: reschedule instructions for dual-issue pipeline.Andy Polyakov
Modest improvement coefficients mean that code already had some parallelism and there was not very much room for improvement. Special thanks to Ted Krovetz for benchmarking the code with such patience.
2010-07-08crypto/*/Makefile: unify "catch-all" assembler make rules and harmonizeAndy Polyakov
ARM assembler modules.
2010-03-29ARMv4 assembler: fix compilation failure. Fix is actually unconfirmed, butAndy Polyakov
I can't think of any other cause for failure
2007-09-27Yet another ARM update. It appears to be more appropriate to makeAndy Polyakov
developers responsible for -march choice.
2007-05-30AES_set_[en|de]crypt_key for ARMv4.Andy Polyakov
2007-01-25Minor touch to aes-armv4.pl.Andy Polyakov
2007-01-25AES for ARMv4.Andy Polyakov