Brian Smith
3e50503763
target.h: Only define OPENSSL_<arch>
when we have code specific to that arch.
...
New architecture-conditional logic should be done Rust, not in C.
2024-01-13 15:23:14 -08:00
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