Add riscv64

Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
This commit is contained in:
David Abdurachmanov 2024-05-15 15:34:21 +03:00
parent 2e8dc48b09
commit 6a21e2ac0a
Signed by: davidlt
GPG Key ID: 7A5F42FAF91FACC3
5 changed files with 16 additions and 7 deletions

9
macros
View File

@ -370,6 +370,7 @@ for k,_ in pairs(stripped_flags) do print(k .. " ") end
%_frame_pointers_cflags_x86_64 %{expr:0%{?_include_frame_pointers} ? "-mno-omit-leaf-frame-pointer" : ""}
%_frame_pointers_cflags_aarch64 %{expr:0%{?_include_frame_pointers} ? "-mno-omit-leaf-frame-pointer" : ""}
%_frame_pointers_cflags_s390x %{expr:0%{?_include_frame_pointers} ? "-mbackchain" : ""}
%_frame_pointers_cflags_riscv64 %{expr:0%{?_include_frame_pointers} ? "-mno-omit-leaf-frame-pointer" : ""}
# Fail linking if there are undefined symbols. Required for proper
# ELF symbol versioning support. Disabled by default.
@ -394,9 +395,11 @@ for k,_ in pairs(stripped_flags) do print(k .. " ") end
# to verify they have real sections/symbols after LTO stripping. That
# way we can detect installing an unusable .o/.a file. This is on the TODO
# list for F34.
%_gcc_lto_cflags -flto=auto -ffat-lto-objects
%_clang_lto_cflags -flto=thin -ffat-lto-objects
%_lto_cflags %{expand:%%{_%{toolchain}_lto_cflags}}
# LTO is slow on riscv64, we want to prioritize build speeds for now.
%_gcc_lto_cflags %{nil}
# riscv64 does not have ld.gold support needed for LTO with Clang.
%_clang_lto_cflags %{nil}
%_lto_cflags %{nil}
# Default fortification level.
# "%define _fortify_level 2" to downgrade and

View File

@ -1,2 +1,2 @@
# Arches that GAP runs on
%gap_arches aarch64 ppc64le s390x x86_64
%gap_arches aarch64 ppc64le s390x x86_64 riscv64

View File

@ -1,2 +1,2 @@
# Arches that OpenJDK and dependent packages run on
%java_arches aarch64 ppc64le s390x x86_64
%java_arches aarch64 ppc64le s390x x86_64 riscv64

View File

@ -4,4 +4,4 @@
# those arches. Support for POWER and aarch64 arrived in nodejs v4. Support
# for s390x arrived in nodejs v6
%nodejs_arches %{ix86} x86_64 %{arm} aarch64 %{power64} s390x
%nodejs_arches %{ix86} x86_64 %{arm} aarch64 %{power64} s390x riscv64

View File

@ -9,7 +9,7 @@
Summary: Red Hat-family-specific rpm configuration files
Name: redhat-rpm-config
Version: %{baserelease}
Release: 1%{?dist}
Release: 1.0.riscv64%{?dist}
# config.guess, config.sub are GPL-3.0-or-later WITH Autoconf-exception-generic
License: GPL-1.0-or-later AND GPL-2.0-or-later AND GPL-3.0-or-later WITH Autoconf-exception-generic AND Boehm-GC
URL: https://src.fedoraproject.org/rpms/redhat-rpm-config
@ -254,6 +254,12 @@ install -p -m 644 -t %{buildroot}%{_rpmluadir}/fedora common.lua
%doc buildflags.md
%changelog
* Wed May 15 2024 David Abdurachmanov <davidlt@rivosinc.com> - 289-1.0.riscv64
- Add riscv64 to %%gap_arches, %%java_arches, and %%nodejs_arches
- Disable LTO for Clang on riscv64 (no ld.gold support for riscv64)
- Disable LTO in general on riscv64 (lowers packages build time)
- Use -mno-omit-leaf-frame-pointer on riscv64
* Tue May 7 2024 Zbigniew Jedrzejewski-Szmek <zbyszek@in.waw.pl> - 289-1
- Add %%__os_install_post_build_reproducibility to %%__os_install_post.
This hooks 'add-determinism' post-processing tool into the build process.