david/ipxe
david
/
ipxe
Archived
1
0
Fork 0
This repository has been archived on 2020-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
ipxe/src/crypto
Michael Brown 2a187f480e [arm] Avoid instruction references to symbols defined via ".equ"
When building for 64-bit ARM, some symbol references may be resolved
via an "adrp" instruction (to obtain the start of the 4kB page
containing the symbol) and a separate 12-bit offset.  For example
(taken from the GNU assembler documentation):

  adrp x0, foo
  ldr  x0, [x0, #:lo12:foo]

We occasionally refer to symbols defined via mechanisms that are not
directly visible to gcc.  For example:

  extern char some_magic_symbol[];
  __asm__ ( ".equ some_magic_symbol, some_magic_expression" );

The subsequent use of the ":lo12:" prefix on such magically-defined
symbols triggers an assertion failure in the assembler.

This problem seems to affect only "private_key_len" in the current
codebase.  Fix by storing this value as static data; this avoids the
need to provide the value as a literal within the instruction stream,
and so avoids the problematic use of the ":lo12:" prefix.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2016-05-08 00:08:48 +01:00
..
mishmash [crypto] Support SHA-{224,384,512} in X.509 certificates 2015-08-02 16:54:24 +01:00
aes.c [build] Fix strict-aliasing warning on older gcc versions 2015-07-27 23:28:01 +01:00
aes_wrap.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
arc4.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
asn1.c [crypto] Allow for zero-length ASN.1 cursors 2016-03-11 16:58:51 +00:00
bigint.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
cbc.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
certstore.c [build] Allow assembler section type character to vary by architecture 2016-03-13 11:20:53 +00:00
chap.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
cms.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
crc32.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
crypto_null.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
deflate.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
drbg.c [crypto] Dual-license selected DRBG files 2015-12-31 14:44:45 +00:00
ecb.c [crypto] Add ECB block cipher mode (for debug and self-tests only) 2015-07-27 16:04:31 +01:00
entropy.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
hash_df.c [crypto] Dual-license selected DRBG files 2015-12-31 14:44:45 +00:00
hmac.c [crypto] Dual-license more selected DRBG files 2016-01-04 15:39:07 +00:00
hmac_drbg.c [crypto] Dual-license selected DRBG files 2015-12-31 14:44:45 +00:00
md5.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
null_entropy.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
ocsp.c [ocsp] Avoid including a double path separator in request URI 2016-01-21 17:50:34 +00:00
privkey.c [arm] Avoid instruction references to symbols defined via ".equ" 2016-05-08 00:08:48 +01:00
random_nz.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
rbg.c [crypto] Dual-license selected DRBG files 2015-12-31 14:44:45 +00:00
rootcert.c [crypto] Allow trusted certificates to be stored in non-volatile options 2016-03-20 17:26:09 +00:00
rsa.c [crypto] Support SHA-{224,384,512} in X.509 certificates 2015-08-02 16:54:24 +01:00
sha1.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
sha1extra.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
sha224.c [crypto] Add SHA-224 algorithm 2015-04-12 17:01:10 +01:00
sha256.c [crypto] Add SHA-512 algorithm 2015-04-12 17:01:10 +01:00
sha384.c [crypto] Add SHA-384 algorithm 2015-04-12 17:01:10 +01:00
sha512.c [crypto] Add SHA-512 algorithm 2015-04-12 17:01:10 +01:00
sha512_224.c [crypto] Add SHA-512/224 algorithm 2015-04-12 17:02:11 +01:00
sha512_256.c [crypto] Add SHA-512/256 algorithm 2015-04-12 17:01:10 +01:00
x509.c [crypto] Support SHA-{224,384,512} in X.509 certificates 2015-08-02 16:54:24 +01:00