[all-commits] [llvm/llvm-project] e3087c: [libc] Start to refactor riscv platform abstractio...

Mikhail R. Gadelha via All-commits all-commits at lists.llvm.org
Tue Sep 26 08:32:58 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e3087c4b8cee20094c1a72b94b0a7f5f543cf37d
      https://github.com/llvm/llvm-project/commit/e3087c4b8cee20094c1a72b94b0a7f5f543cf37d
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2023-09-26 (Tue, 26 Sep 2023)

  Changed paths:
    M libc/cmake/modules/LLVMLibCArchitectures.cmake
    A libc/config/baremetal/riscv/entrypoints.txt
    A libc/config/baremetal/riscv/headers.txt
    R libc/config/baremetal/riscv32/entrypoints.txt
    R libc/config/baremetal/riscv32/headers.txt
    M libc/config/linux/app.h
    A libc/config/linux/riscv/entrypoints.txt
    A libc/config/linux/riscv/headers.txt
    R libc/config/linux/riscv64/entrypoints.txt
    R libc/config/linux/riscv64/headers.txt
    M libc/src/__support/FPUtil/FEnvImpl.h
    M libc/src/__support/FPUtil/FMA.h
    A libc/src/__support/FPUtil/riscv/FEnvImpl.h
    A libc/src/__support/FPUtil/riscv/FMA.h
    A libc/src/__support/FPUtil/riscv/sqrt.h
    R libc/src/__support/FPUtil/riscv32/FEnvImpl.h
    R libc/src/__support/FPUtil/riscv64/FEnvImpl.h
    R libc/src/__support/FPUtil/riscv64/FMA.h
    R libc/src/__support/FPUtil/riscv64/sqrt.h
    M libc/src/__support/FPUtil/sqrt.h
    A libc/src/__support/OSUtil/linux/riscv/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/riscv/syscall.h
    R libc/src/__support/OSUtil/linux/riscv64/CMakeLists.txt
    R libc/src/__support/OSUtil/linux/riscv64/syscall.h
    M libc/src/__support/OSUtil/linux/syscall.h
    M libc/src/__support/macros/properties/architectures.h
    M libc/src/__support/threads/linux/thread.cpp
    M libc/src/__support/threads/thread.h
    A libc/src/setjmp/riscv/CMakeLists.txt
    A libc/src/setjmp/riscv/longjmp.cpp
    A libc/src/setjmp/riscv/setjmp.cpp
    R libc/src/setjmp/riscv64/CMakeLists.txt
    R libc/src/setjmp/riscv64/longjmp.cpp
    R libc/src/setjmp/riscv64/setjmp.cpp
    A libc/startup/linux/riscv/CMakeLists.txt
    A libc/startup/linux/riscv/start.cpp
    R libc/startup/linux/riscv64/CMakeLists.txt
    R libc/startup/linux/riscv64/start.cpp
    M libc/test/src/fenv/enabled_exceptions_test.cpp
    M libc/test/src/fenv/feenableexcept_test.cpp
    M libc/test/src/fenv/feholdexcept_test.cpp

  Log Message:
  -----------
  [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




More information about the All-commits mailing list