openssl/crypto/aes
David Benjamin 8a5d8bc4bc Always use adr with __thumb2__.
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)
2018-02-27 18:46:33 -05:00
..
asm Always use adr with __thumb2__. 2018-02-27 18:46:33 -05:00
aes_cbc.c Copyright consolidation 05/10 2016-05-17 15:38:09 -04:00
aes_cfb.c Copyright consolidation 05/10 2016-05-17 15:38:09 -04:00
aes_core.c Remove email addresses from source code. 2017-10-13 10:06:59 -04:00
aes_ecb.c Copyright consolidation 05/10 2016-05-17 15:38:09 -04:00
aes_ige.c Don't call memcpy if len is zero. 2017-02-20 19:17:53 -05:00
aes_locl.h Copyright consolidation 05/10 2016-05-17 15:38:09 -04:00
aes_misc.c Copyright consolidation 05/10 2016-05-17 15:38:09 -04:00
aes_ofb.c Copyright consolidation 05/10 2016-05-17 15:38:09 -04:00
aes_wrap.c Copyright consolidation 05/10 2016-05-17 15:38:09 -04:00
aes_x86core.c Remove email addresses from source code. 2017-10-13 10:06:59 -04:00
build.info Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00