21 Commits

Author SHA1 Message Date
Brian Smith
c72a5aa710 Require __BYTE_ORDER__ to be defined for bi-endian target architectures. 2024-01-10 10:53:26 -08:00
Brian Smith
da23dc037e Use small Curve25519 for wasm32 & other non-{aarch64,x86_64}.
Enable `ring::agreement` for wasm32 targets using the small
implementation of Curve25519.

Use the small Curve25519 implementation of Curve25519 (and
P-256) for all targets except for Aarch64 and x86-64.

Besides being smaller, the small implementations are likely
more resistant to compiler-introduced side-channels, which
is especially important for the wasm32 virtual machine and
other targets that we don't QA as thoroughly as AAarch64
and x86-64.

Bring in the previously-removed definition of `fe_mul_llt`
from BoringSSL as of commit
8d71d244c0debac4079beeb02b5802fde59b94bd.
2023-10-14 16:49:57 -07:00
Brian Smith
639ab71e64 Use CRYPTO_memcmp name the same as BoringSSL.
*ring* defined a function named `OPENSSL_memcmp` that did what
`CRYPTO_memcmp` does in BoringSSL, and BoringSSL has a different
function called `OPENSSL_memcmp`. *ring* doesn't need
`OPENSSL_memcmp` so sync the `CRYPTO_memcmp` stuff with BoringSSL.

This eliminates unnecessary differences from BoringSSL.
2023-10-09 15:17:19 -07:00
pkubaj
7218f22bc6 Fix powerpc64 detection
Both powerpc64 and powerpc define __powerpc__. Also remove endianness check for powerpc64* since it's not necessary.
2023-10-05 07:27:37 -07:00
Brian Smith
00d639339a Add support for 64-bit big-endian PowerPC.
Not added to CI. We need to find a better solution for supporting PowerPC
(and s390x and other less-common archs) in CI.
2023-10-01 21:29:33 -07:00
ZHAI Xiaojuan
3d592b27bf Add support for LoongArch64 2023-10-01 18:43:17 -07:00
Brian Smith
6e82dd3c75 Add powerpc-unknown-linux-gnu support. 2023-10-01 18:25:37 -07:00
Ulrich Weigand
baa823bb4d Basic support for s390x target 2023-10-01 14:33:16 -07:00
Eric Richter
3a8c095f3d Add Little-endian PPC64LE definition to ring-core/target.h
Signed-off-by: Eric Richter <erichte@linux.ibm.com>
2023-09-30 17:18:58 -07:00
Brian Smith
165e8a797c Cherry-pick BoringSSL RISC-V target support (64-bit only). 2023-09-30 11:46:06 -07:00
Brian Smith
4581b6fee7 Merge BoringSSL 'bd20800': Add a comment for what compiler_test.cc is about
Try to support more than what BoringSSL does w.r.t. aliasing pointers.
2023-09-29 17:59:31 -07:00
Brian Smith
58758d3a0d Merge BoringSSL 'd43fef7': Fix aarch64 build with GCC 2023-09-29 17:12:06 -07:00
Brian Smith
ac8e58c7aa Take BoringSSL '51ed32f'. 2023-09-29 17:09:36 -07:00
Brian Smith
78c62f91df Merge BoringSSL '9fc1c33': Add Intel Indirect Branch Tracking support. 2023-09-29 17:08:34 -07:00
Brian Smith
00da1cb1f7 Merge BoringSSL 'a905bbb': Consistently include BTI markers in every assembly file 2023-09-29 14:52:41 -07:00
Brian Smith
e1b6a7f883 Merge BoringSSL d80f17d: Simplify __ARM_ARCH__ definition. 2022-10-31 16:45:04 -07:00
Brian Smith
3c83e797d8 Merge BoringSSL a94c267: Don't use __ARMEL__/__ARMEB__ in aarch64 assembly 2022-10-31 16:37:08 -07:00
Brian Smith
e51d3c4eea Merge BoringSSL 661266e: Move CPU detection symbols to crypto/internal.h. 2022-10-31 16:31:35 -07:00
Brian Smith
0f983bb7a6 Partially merge BoringSSL 1e15682: Enable SHA-512 ARM acceleration when available.
Merge the code for the new implementation but don't use it. The logic to
enable it will be done separately.
2022-10-31 16:04:13 -07:00
Brian Smith
5b7320f33d Take BoringSSL fe049e4: Document expected use of BTI and PAC macros. 2021-08-18 12:08:21 -07:00
Brian Smith
7886603cee Use some variant of "ring core" instead of "GFp" as a prefix for everything.
"GFp_" isn't in the code at all anymore.
2021-05-02 22:09:07 -07:00