From 7478b38a2ba3d18d6705f1dbbd50fb1e6aa62b73 Mon Sep 17 00:00:00 2001 From: Ting-Wei Lan Date: Tue, 30 Aug 2022 22:45:46 +0800 Subject: arm-linux-gnueabi-toolchain: GLIBC 2.35 -> 2.36 --- .../11/arm-linux-gnueabi-gcc.spec | 7 +++- .../files/gcc-11-libgo-glibc-2.36.patch | 35 +++++++++++++++++ .../files/gcc-11-libsanitizer-glibc-2.36.patch | 44 ++++++++++++++++++++++ .../arm-linux-gnueabi-glibc.spec | 8 +++- 4 files changed, 91 insertions(+), 3 deletions(-) create mode 100644 arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/files/gcc-11-libgo-glibc-2.36.patch create mode 100644 arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/files/gcc-11-libsanitizer-glibc-2.36.patch diff --git a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/11/arm-linux-gnueabi-gcc.spec b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/11/arm-linux-gnueabi-gcc.spec index 924fb3b..bfe90d0 100644 --- a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/11/arm-linux-gnueabi-gcc.spec +++ b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/11/arm-linux-gnueabi-gcc.spec @@ -30,7 +30,7 @@ Name: %{cross_triplet}-gcc%{pkg_suffix} Version: 11.3.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The GNU Compiler Collection (%{cross_triplet}) %global major_version %(echo %{version} | sed 's/\\..*$//') @@ -38,6 +38,8 @@ Summary: The GNU Compiler Collection (%{cross_triplet}) License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD URL: https://gcc.gnu.org Source0: https://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.xz +Patch0: gcc-11-libsanitizer-glibc-2.36.patch +Patch1: gcc-11-libgo-glibc-2.36.patch BuildRequires: gcc, gcc-c++ BuildRequires: texinfo, gettext, flex, bison, zlib-devel @@ -395,6 +397,9 @@ rmdir --ignore-fail-on-non-empty %{buildroot}%{_libexecdir}/gcc/%{cross_triplet} %changelog +* Tue Aug 30 2022 Ting-Wei Lan - 11.3.0-2 +- Fix build failure with GLIBC 2.36 + * Tue Apr 26 2022 Ting-Wei Lan - 11.3.0-1 - Update to new stable release 11.3.0 - Build libgcc in the first bootstrap stage diff --git a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/files/gcc-11-libgo-glibc-2.36.patch b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/files/gcc-11-libgo-glibc-2.36.patch new file mode 100644 index 0000000..ae7a6a6 --- /dev/null +++ b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/files/gcc-11-libgo-glibc-2.36.patch @@ -0,0 +1,35 @@ +From a55184ada8e2887ca94c0ab07027617885beafc9 Mon Sep 17 00:00:00 2001 +From: Ian Lance Taylor +Date: Tue, 12 Jul 2022 19:42:43 -0700 +Subject: [PATCH] libgo: don't include when building + gen-sysinfo.go + +Removing this doesn't change anything at least with glibc 2.33. +The include was added in https://go.dev/cl/6100049 but it's not +clear why. + +Fixes PR go/106266 + +Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/417294 +(cherry picked from commit f35d65517a59565758107c5b1a51a5fa382f8d1a) +--- + libgo/sysinfo.c | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/libgo/sysinfo.c b/libgo/sysinfo.c +index 8ce061e2f5f..336a5983750 100644 +--- a/libgo/sysinfo.c ++++ b/libgo/sysinfo.c +@@ -158,9 +158,6 @@ + #if defined(HAVE_LINUX_ETHER_H) + #include + #endif +-#if defined(HAVE_LINUX_FS_H) +-#include +-#endif + #if defined(HAVE_LINUX_REBOOT_H) + #include + #endif +-- +2.37.2 + diff --git a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/files/gcc-11-libsanitizer-glibc-2.36.patch b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/files/gcc-11-libsanitizer-glibc-2.36.patch new file mode 100644 index 0000000..93b97da --- /dev/null +++ b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/files/gcc-11-libsanitizer-glibc-2.36.patch @@ -0,0 +1,44 @@ +From d2356ebb0084a0d80dbfe33040c9afe938c15d19 Mon Sep 17 00:00:00 2001 +From: Martin Liska +Date: Mon, 11 Jul 2022 22:03:14 +0200 +Subject: [PATCH] libsanitizer: cherry-pick 9cf13067cb5088626ba7 from upstream + +9cf13067cb5088626ba7ee1ec4c42ec59c7995a0 [sanitizer] Remove #include to resolve fsconfig_command/mount_attr conflict with glibc 2.36 + +(cherry picked from commit 2701442d0cf6292f6624443c15813d6d1a3562fe) +--- + .../sanitizer_platform_limits_posix.cpp | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +index 025e575b5bc..5743516c046 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +@@ -72,7 +72,9 @@ + #include + #include + #include ++#if SANITIZER_ANDROID + #include ++#endif + #include + #include + #include +@@ -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.37.2 + diff --git a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-glibc/arm-linux-gnueabi-glibc.spec b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-glibc/arm-linux-gnueabi-glibc.spec index f154c47..a977e70 100644 --- a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-glibc/arm-linux-gnueabi-glibc.spec +++ b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-glibc/arm-linux-gnueabi-glibc.spec @@ -48,8 +48,8 @@ %endif Name: %{cross_triplet}-glibc%{pkg_suffix} -Version: 2.35 -Release: 2%{?dist} +Version: 2.36 +Release: 1%{?dist} Summary: The GNU C Library (%{cross_triplet}) License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ @@ -376,6 +376,7 @@ rm -rf %{buildroot}%{cross_sysroot}/usr/share/locale %{cross_sysroot}/usr/include/sys/param.h %{cross_sysroot}/usr/include/sys/pci.h %{cross_sysroot}/usr/include/sys/personality.h +%{cross_sysroot}/usr/include/sys/pidfd.h %{cross_sysroot}/usr/include/sys/poll.h %{cross_sysroot}/usr/include/sys/prctl.h %{cross_sysroot}/usr/include/sys/procfs.h @@ -507,6 +508,9 @@ rm -rf %{buildroot}%{cross_sysroot}/usr/share/locale %changelog +* Tue Aug 30 2022 Ting-Wei Lan - 2.36-1 +- Update to 2.36 + * Tue Apr 26 2022 Ting-Wei Lan - 2.35-2 - Remove the headers-only bulid because we no longer need it to bootstrap GCC - Replace bootstrap macro with cross_stage macro copied from our GCC package -- cgit v1.2.3