From 19cdfac5b3da2d2ee04b16fec8c3ab8ab71950a5 Mon Sep 17 00:00:00 2001 From: eabdullin Date: Wed, 5 Mar 2025 13:02:35 +0300 Subject: [PATCH] Add riscv support --- config.yaml | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) diff --git a/config.yaml b/config.yaml index f779157..708d4ac 100644 --- a/config.yaml +++ b/config.yaml @@ -12,6 +12,127 @@ actions: %global cfg_file_content --gcc-triple=%{_target_cpu}-redhat-linux %endif count: 1 + - target: "spec" + find: "BPF;WebAssembly" + replace: "BPF;WebAssembly;RISCV" + count: 1 + - target: "spec" + find: | + %ifarch %ix86 + %global reduce_debuginfo 1 + replace: | + %ifarch %ix86 riscv64 + %global reduce_debuginfo 1 + count: 1 + - target: "spec" + find: | + %ifarch aarch64 + %define _find_debuginfo_dwz_opts %{nil} + replace: | + %ifarch aarch64 riscv64 + %define _find_debuginfo_dwz_opts %{nil} + count: 1 + - target: "spec" + find: | + #region llvm options + replace: | + %global runtimes compiler-rt;openmp + %ifnarch riscv64 + %global runtimes %{runtimes};offload + %endif + + #region llvm options + count: 1 + - target: "spec" + find: "-DLLVM_ENABLE_RUNTIMES=\"compiler-rt;openmp;offload\"" + replace: "-DLLVM_ENABLE_RUNTIMES=\"%{runtimes}\"" + count: 1 + - target: "spec" + find: | + %ifnarch %{ix86} + # Remove files that we don't package, yet. + %if %{maj_ver} >= 20 + rm %{buildroot}%{install_bindir}/llvm-offload-device-info + replace: | + %ifnarch %{ix86} riscv64 + # Remove files that we don't package, yet. + %if %{maj_ver} >= 20 + rm %{buildroot}%{install_bindir}/llvm-offload-device-info + count: 1 + - target: "spec" + find: | + %cmake_build --target check-lit + replace: | + %ifnarch riscv64 + %cmake_build --target check-lit + %endif + count: 1 + - target: "spec" + find: | + %cmake_build --target check-llvm + replace: | + %ifnarch riscv64 + %cmake_build --target check-llvm + %endif + count: 1 + - target: "spec" + find: | + %cmake_build --target check-clang + replace: | + %ifarch riscv64 + export LIT_XFAIL="$LIT_XFAIL;clang/test/OpenMP/declare_variant_device_isa_codegen_1.c" + export LIT_XFAIL="$LIT_XFAIL;OpenMP/declare_variant_device_isa_codegen_1.c" + test_list_filter_out+=("Clang :: OpenMP/declare_variant_device_isa_codegen_1.c") + %endif + + export LIT_FILTER_OUT=$(test_list_to_regex test_list_filter_out) + + %ifnarch riscv64 + %cmake_build --target check-clang + %endif + count: 1 + - target: "spec" + find: | + %cmake_build --target check-clang-tools + replace: | + %ifnarch riscv64 + %cmake_build --target check-clang-tools + %endif + count: 1 + - target: "spec" + find: | + %ifnarch s390x + %cmake_build --target check-openmp + %endif + replace: | + %ifnarch s390x riscv64 + %cmake_build --target check-openmp + %endif + count: 1 + - target: "spec" + find: | + %cmake_build --target check-lld + replace: | + %ifnarch riscv64 + %cmake_build --target check-lld + %endif + count: 1 + - target: "spec" + find: | + %ifnarch %{ix86} s390x + %{_prefix}/lib/clang/%{maj_ver}/lib/%{compiler_rt_triple}/liborc_rt.a + replace: | + %ifnarch %{ix86} s390x riscv64 + %{_prefix}/lib/clang/%{maj_ver}/lib/%{compiler_rt_triple}/liborc_rt.a + count: 1 + - target: "spec" + find: | + %ifnarch %{ix86} + # libomptarget is not supported on 32-bit systems. + replace: | + %ifnarch %{ix86} riscv64 + # libomptarget is not supported on 32-bit systems. + count: 2 - modify_release: - suffix: ".alma.1" @@ -22,3 +143,4 @@ actions: email: "eabdullin@almalinux.org" line: - "Use x86_64-redhat-linux as default gcc triple for x86_64_v2" + - "Add riscv64 support"