From 534b9a26549b6ce10e80034f0ade602bffd38e02 Mon Sep 17 00:00:00 2001 From: Guost123 Date: Fri, 25 Apr 2025 13:52:51 +0800 Subject: [PATCH] adapt for riscv64 --- gcc.spec | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/gcc.spec b/gcc.spec index fef99b4..ba71f26 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,4 +1,4 @@ -%define anolis_release 10 +%define anolis_release 11 %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} @@ -2821,6 +2850,9 @@ end %changelog +* Fri Apr 25 2025 Shangtong Guo - 12.3.0-11 +- adapt for riscv64 + * Wed Jan 22 2025 Wenlong Zhang - 12.3.0-10 - rebuild gcc to support -msoft-float for loongarch64 -- Gitee