From 584a32e11c6dcdbcbe275facb8d89f115c6c0298 Mon Sep 17 00:00:00 2001 From: Guost123 Date: Thu, 24 Apr 2025 16:42:52 +0800 Subject: [PATCH] adapt for riscv64 --- gcc.spec | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/gcc.spec b/gcc.spec index fef99b4..a4e04bc 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,4 +1,4 @@ -%define anolis_release 10 +%define anolis_release 10.1 %global DATE 20221121 %global gitrev b3f5a0d53b84ed27cf00cfa2b9c3e2c78935c07d @@ -27,11 +27,23 @@ %global build_libquadmath 0 %endif %global build_libasan 1 +%ifarch x86_64 ppc64 ppc64le aarch64 s390x loongarch64 sw_64 %global build_libtsan 1 +%else +%global build_libtsan 0 +%endif +%ifarch x86_64 ppc64 ppc64le aarch64 s390x loongarch64 sw_64 %global build_liblsan 1 +%else +%global build_liblsan 0 +%endif %global build_libubsan 1 %global build_libatomic 1 +%ifarch %{ix86} x86_64 %{arm} alpha ppc ppc64 ppc64le ppc64p7 s390 s390x aarch64 loongarch64 sw_64 %global build_libitm 1 +%else +%global build_libitm 0 +%endif %global build_isl 0 %global build_libstdcxx_docs 1 %global attr_ifunc 1 @@ -45,6 +57,9 @@ %undefine _hardened_build %undefine _auto_set_build_flags %undefine _annotated_build +%ifarch riscv64 +%global __brp_check_rpaths /usr/bin/true +%endif Summary: Various compilers (C, C++, Objective-C, ...) Name: gcc @@ -1507,6 +1522,11 @@ CONFIGURE_OPTS="\ %ifarch x86_64 --with-arch_64=x86-64-v2 \ --with-arch_32=x86-64 \ +%endif +%ifarch riscv64 + --with-arch=rv64gc \ + --with-abi=lp64d \ + --with-multilib-list=lp64d \ %endif --build=%{gcc_target_platform} \ --with-build-config=bootstrap-lto \ @@ -1628,6 +1648,15 @@ cd ../.. rm -rf %{buildroot} mkdir -p %{buildroot} +%ifarch riscv64 +for d in %{buildroot}%{_libdir} %{buildroot}/%{_lib} \ + %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib} \ + %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/%{_lib}; do + mkdir -p $d + (cd $d && ln -sf . lp64d) +done +%endif + %if %{build_offload_nvptx} cd nvptx-tools-%{nvptx_tools_gitrev} cd obj-%{gcc_target_platform} -- Gitee