Add riscv support

This commit is contained in:
eabdullin 2025-03-05 13:02:35 +03:00
parent 3a42d8e94e
commit 19cdfac5b3

View File

@ -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"