Fix glibc 2.36 compile & update ISL 0.18 config scripts

The same changes as for GCC 11 build.

Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
This commit is contained in:
David Abdurachmanov 2022-08-10 12:52:57 +03:00
parent 23a21fde25
commit 6e4093c32e
Signed by: davidlt
GPG Key ID: 8B7F1DA0E2C9FDBB
2 changed files with 79 additions and 1 deletions

View File

@ -0,0 +1,61 @@
From 45d05567b776686843da39bde28b8adf0e14a2fa Mon Sep 17 00:00:00 2001
From: David Abdurachmanov <davidlt@rivosinc.com>
Date: Sun, 31 Jul 2022 08:00:50 +0300
Subject: [PATCH] Fix for glibc 2.36
See:
https://github.com/llvm/llvm-project/commit/9cf13067cb5088626ba7ee1ec4c42ec59c7995a0
https://github.com/gcc-mirror/gcc/commit/f35d65517a59565758107c5b1a51a5fa382f8d1a
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
---
libgo/sysinfo.c | 3 ---
.../sanitizer_platform_limits_posix.cpp | 10 ++++++----
2 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/libgo/sysinfo.c b/libgo/sysinfo.c
index 8ce061e2f..336a59837 100644
--- a/libgo/sysinfo.c
+++ b/libgo/sysinfo.c
@@ -158,9 +158,6 @@
#if defined(HAVE_LINUX_ETHER_H)
#include <linux/ether.h>
#endif
-#if defined(HAVE_LINUX_FS_H)
-#include <linux/fs.h>
-#endif
#if defined(HAVE_LINUX_REBOOT_H)
#include <linux/reboot.h>
#endif
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
index 025e575b5..5743516c0 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
@@ -72,7 +72,9 @@
#include <sys/vt.h>
#include <linux/cdrom.h>
#include <linux/fd.h>
+#if SANITIZER_ANDROID
#include <linux/fs.h>
+#endif
#include <linux/hdreg.h>
#include <linux/input.h>
#include <linux/ioctl.h>
@@ -828,10 +830,10 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
unsigned IOCTL_EVIOCGPROP = IOCTL_NOT_PRESENT;
unsigned IOCTL_EVIOCSKEYCODE_V2 = IOCTL_NOT_PRESENT;
#endif
- unsigned IOCTL_FS_IOC_GETFLAGS = FS_IOC_GETFLAGS;
- unsigned IOCTL_FS_IOC_GETVERSION = FS_IOC_GETVERSION;
- unsigned IOCTL_FS_IOC_SETFLAGS = FS_IOC_SETFLAGS;
- unsigned IOCTL_FS_IOC_SETVERSION = FS_IOC_SETVERSION;
+ unsigned IOCTL_FS_IOC_GETFLAGS = _IOR('f', 1, long);
+ unsigned IOCTL_FS_IOC_GETVERSION = _IOR('v', 1, long);
+ unsigned IOCTL_FS_IOC_SETFLAGS = _IOW('f', 2, long);
+ unsigned IOCTL_FS_IOC_SETVERSION = _IOW('v', 2, long);
unsigned IOCTL_GIO_CMAP = GIO_CMAP;
unsigned IOCTL_GIO_FONT = GIO_FONT;
unsigned IOCTL_GIO_UNIMAP = GIO_UNIMAP;
--
2.35.1

View File

@ -125,7 +125,7 @@
Summary: Various compilers (C, C++, Objective-C, ...)
Name: gcc
Version: %{gcc_version}
Release: %{gcc_release}%{?dist}.1
Release: %{gcc_release}.0.riscv64%{?dist}.1
# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have
# GCC Runtime Exception.
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
@ -283,6 +283,8 @@ Patch101: gcc12-fortran-flogical-as-integer.patch
Patch102: gcc12-fortran-fdec-override-kind.patch
Patch103: gcc12-fortran-fdec-non-logical-if.patch
Patch200: 0001-Fix-for-glibc-2.36.patch
# On ARM EABI systems, we do want -gnueabi to be part of the
# target triple.
%ifnarch %{arm}
@ -814,6 +816,10 @@ so that there cannot be any synchronization problems.
%patch103 -p1 -b .fortran-fdec-non-logical-if~
%endif
%ifarch riscv64
%patch200 -p1 -b .fix-glibc236~
%endif
%ifarch %{arm}
rm -f gcc/testsuite/go.test/test/fixedbugs/issue19182.go
%endif
@ -925,6 +931,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|libgcc12privateisl|g' \
../../isl-%{isl_version}/Makefile.{am,in}
../../isl-%{isl_version}/configure \
@ -3217,6 +3230,10 @@ end
%endif
%changelog
* Wed Aug 10 2022 David Abdurachmanov <davidlt@rivosinc.com> - 12.1.1-3.1.0.riscv64
- Update config.{sub,guess} scripts for ISL 0.18 on riscv64
- Fix build for glibc 2.36
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 12.1.1-3.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild