Add support for RISC-V 64-bit architecture
Signed-off-by: Rebecca Chang Swee Fun <rebecca.chang@starfivetech.com>
Change-Id: If6424a3b268943a5e2dc847f94b509d4b509df79
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/52765
Commit-Queue: Adam Langley <agl@google.com>
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index aadcb9b..766c839 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -494,6 +494,8 @@
set(ARCH "generic")
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le")
set(ARCH "ppc64le")
+elseif (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "riscv64")
+ set(ARCH "riscv64")
else()
message(FATAL_ERROR "Unknown processor:" ${CMAKE_SYSTEM_PROCESSOR})
endif()
diff --git a/include/openssl/base.h b/include/openssl/base.h
index 4ab9eca..a4a91f5 100644
--- a/include/openssl/base.h
+++ b/include/openssl/base.h
@@ -118,6 +118,8 @@
#define OPENSSL_32_BIT
#elif defined(__myriad2__)
#define OPENSSL_32_BIT
+#elif defined(__riscv) && __riscv_xlen == 64
+#define OPENSSL_64_BIT
#else
// Note BoringSSL only supports standard 32-bit and 64-bit two's-complement,
// little-endian architectures. Functions will not produce the correct answer