From 3e1064ddc083a84557d68728ed93ac9b8c527f63 Mon Sep 17 00:00:00 2001 From: David Abdurachmanov Date: Fri, 23 Jun 2023 21:38:06 +0300 Subject: [PATCH] Adjust for riscv64 Signed-off-by: David Abdurachmanov --- gcc.spec | 17 +++++++++++++++-- gcc13-libtool-no-rpath.patch | 6 +++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/gcc.spec b/gcc.spec index a33ce2d..cf8fb48 100644 --- a/gcc.spec +++ b/gcc.spec @@ -93,7 +93,7 @@ %else %global build_libatomic 0 %endif -%ifarch %{ix86} x86_64 %{arm} alpha ppc ppc64 ppc64le ppc64p7 s390 s390x aarch64 +%ifarch %{ix86} x86_64 %{arm} alpha ppc ppc64 ppc64le ppc64p7 s390 s390x aarch64 riscv64 %global build_libitm 1 %else %global build_libitm 0 @@ -136,7 +136,7 @@ Summary: Various compilers (C, C++, Objective-C, ...) Name: gcc Version: %{gcc_version} -Release: %{gcc_release}%{?dist} +Release: %{gcc_release}.0.riscv64%{?dist} # libgcc, libgfortran, libgomp, libstdc++ and crtstuff have # GCC Runtime Exception. License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD @@ -988,6 +988,13 @@ ISL_FLAG_PIC=-fPIC ISL_FLAG_PIC=-fpic %endif cd isl-build + +%ifarch riscv64 +# Update config.{sub,guess} scripts for riscv64 (the original ones are too old) +cp -f -v /usr/lib/rpm/redhat/config.guess ../../isl-%{isl_version}/config.guess +cp -f -v /usr/lib/rpm/redhat/config.sub ../../isl-%{isl_version}/config.sub +%endif + sed -i 's|libisl\([^-]\)|libgcc13privateisl\1|g' \ ../../isl-%{isl_version}/Makefile.{am,in} ../../isl-%{isl_version}/configure \ @@ -2543,6 +2550,9 @@ end %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmxlintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vecintrin.h %endif +%ifarch riscv64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/riscv_vector.h +%endif %if %{build_libasan} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sanitizer %endif @@ -3459,6 +3469,9 @@ end %endif %changelog +* Fri Jun 23 2023 David Abdurachmanov 13.1.1-4.0.riscv64 +- Adjust for riscv64 + * Wed Jun 14 2023 Jakub Jelinek 13.1.1-4 - update from releases/gcc-13 branch - PRs bootstrap/110085, c++/109871, fortran/100607, libgcc/109670, diff --git a/gcc13-libtool-no-rpath.patch b/gcc13-libtool-no-rpath.patch index 466c661..8429a4c 100644 --- a/gcc13-libtool-no-rpath.patch +++ b/gcc13-libtool-no-rpath.patch @@ -5,7 +5,7 @@ libtool sucks. rpath="$finalize_rpath" test "$mode" != relink && rpath="$compile_rpath$rpath" for libdir in $rpath; do -+ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac ++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64|/usr/lib/../lib64/lp64d) continue;; esac if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then @@ -13,7 +13,7 @@ libtool sucks. rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do -+ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac ++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64|/usr/lib/../lib64/lp64d) continue;; esac if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then @@ -21,7 +21,7 @@ libtool sucks. rpath= hardcode_libdirs= for libdir in $finalize_rpath; do -+ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac ++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64|/usr/lib/../lib64/lp64d) continue;; esac if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then