aboutsummaryrefslogtreecommitdiff
path: root/libc/cmake/modules
diff options
context:
space:
mode:
authorMikhail R. Gadelha <mikhail@igalia.com>2023-05-01 12:39:53 -0300
committerMikhail R. Gadelha <mikhail@igalia.com>2023-09-26 12:32:25 -0300
commite3087c4b8cee20094c1a72b94b0a7f5f543cf37d (patch)
tree7eaad80da34362305413c5329c366b1dca632330 /libc/cmake/modules
parent06f10b80847a75b9329174fa7eb0388e214eb19b (diff)
downloadllvm-e3087c4b8cee20094c1a72b94b0a7f5f543cf37d.zip
llvm-e3087c4b8cee20094c1a72b94b0a7f5f543cf37d.tar.gz
llvm-e3087c4b8cee20094c1a72b94b0a7f5f543cf37d.tar.bz2
[libc] Start to refactor riscv platform abstraction to support both 32 and 64 bits versions
This patch enables the compilation of libc for rv32 by unifying the current rv64 and rv32 implementation into a single rv implementation. We updated the cmake file to match the new riscv32 arch and force LIBC_TARGET_ARCHITECTURE to be "riscv" whenever we find "riscv32" or "riscv64". This is required as LIBC_TARGET_ARCHITECTURE is used in the path for several platform specific implementations. Reviewed By: michaelrj Differential Revision: https://reviews.llvm.org/D148797
Diffstat (limited to 'libc/cmake/modules')
-rw-r--r--libc/cmake/modules/LLVMLibCArchitectures.cmake6
1 files changed, 4 insertions, 2 deletions
diff --git a/libc/cmake/modules/LLVMLibCArchitectures.cmake b/libc/cmake/modules/LLVMLibCArchitectures.cmake
index 89b5f2d..1057110 100644
--- a/libc/cmake/modules/LLVMLibCArchitectures.cmake
+++ b/libc/cmake/modules/LLVMLibCArchitectures.cmake
@@ -150,10 +150,12 @@ elseif(LIBC_TARGET_ARCHITECTURE STREQUAL "aarch64")
set(LIBC_TARGET_ARCHITECTURE_IS_AARCH64 TRUE)
elseif(LIBC_TARGET_ARCHITECTURE STREQUAL "x86_64")
set(LIBC_TARGET_ARCHITECTURE_IS_X86 TRUE)
-elseif(LIBC_TARGET_ARCHITECTURE STREQUAL "riscv32")
- set(LIBC_TARGET_ARCHITECTURE_IS_RISCV32 TRUE)
elseif(LIBC_TARGET_ARCHITECTURE STREQUAL "riscv64")
set(LIBC_TARGET_ARCHITECTURE_IS_RISCV64 TRUE)
+ set(LIBC_TARGET_ARCHITECTURE "riscv")
+elseif(LIBC_TARGET_ARCHITECTURE STREQUAL "riscv32")
+ set(LIBC_TARGET_ARCHITECTURE_IS_RISCV32 TRUE)
+ set(LIBC_TARGET_ARCHITECTURE "riscv")
else()
message(FATAL_ERROR
"Unsupported libc target architecture ${LIBC_TARGET_ARCHITECTURE}")