diff options
author | Sam James <sam@gentoo.org> | 2022-08-19 18:57:53 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-08-19 19:05:18 +0100 |
commit | 42d84bf32472b4cc0d16e81e4ef62e3d3f2fd3a9 (patch) | |
tree | 3f1f37079a1362b3b2c5ed7cb80f5805fd35de7a /sys-devel | |
parent | app-editors/emacs: Enable NATIVE_FULL_AOT=1 with USE=jit (diff) | |
download | gentoo-42d84bf32472b4cc0d16e81e4ef62e3d3f2fd3a9.tar.gz gentoo-42d84bf32472b4cc0d16e81e4ef62e3d3f2fd3a9.tar.bz2 gentoo-42d84bf32472b4cc0d16e81e4ef62e3d3f2fd3a9.zip |
sys-devel/gcc: add glibc 2.36 patch for 11.3.0, 10.4.0
Tried adding to gcc-patches (and indeed did) [0] but got into
a mess and it's not worth the hassle for now.
[0] https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=97ae6391c543891918047f724b0bddecc5f834bc
Closes: https://bugs.gentoo.org/864717
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/gcc/files/gcc-10.4.0-glibc-2.36.patch | 39 | ||||
-rw-r--r-- | sys-devel/gcc/files/gcc-11.3.0-glibc-2.36.patch | 41 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-10.4.0.ebuild | 2 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-11.3.0.ebuild | 1 |
4 files changed, 83 insertions, 0 deletions
diff --git a/sys-devel/gcc/files/gcc-10.4.0-glibc-2.36.patch b/sys-devel/gcc/files/gcc-10.4.0-glibc-2.36.patch new file mode 100644 index 000000000000..e773071188b7 --- /dev/null +++ b/sys-devel/gcc/files/gcc-10.4.0-glibc-2.36.patch @@ -0,0 +1,39 @@ +https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=6bd956e31b2fb6fe1eee4eb1bf309247dcd19b23 +https://bugs.gentoo.org/864717 + +From 6bd956e31b2fb6fe1eee4eb1bf309247dcd19b23 Mon Sep 17 00:00:00 2001 +From: Martin Liska <mliska@suse.cz> +Date: Mon, 11 Jul 2022 22:03:14 +0200 +Subject: [PATCH] libsanitizer: cherry-pick 9cf13067cb5088626ba7 from upstream + +9cf13067cb5088626ba7ee1ec4c42ec59c7995a0 [sanitizer] Remove #include <linux/fs.h> to resolve fsconfig_command/mount_attr conflict with glibc 2.36 + +(cherry picked from commit 2701442d0cf6292f6624443c15813d6d1a3562fe) +--- 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> +@@ -822,10 +824,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; + diff --git a/sys-devel/gcc/files/gcc-11.3.0-glibc-2.36.patch b/sys-devel/gcc/files/gcc-11.3.0-glibc-2.36.patch new file mode 100644 index 000000000000..7907223248ae --- /dev/null +++ b/sys-devel/gcc/files/gcc-11.3.0-glibc-2.36.patch @@ -0,0 +1,41 @@ +https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=d2356ebb0084a0d80dbfe33040c9afe938c15d19 +https://bugs.gentoo.org/864717 + +Fix build w/ glibc 2.36. + +From d2356ebb0084a0d80dbfe33040c9afe938c15d19 Mon Sep 17 00:00:00 2001 +From: Martin Liska <mliska@suse.cz> +Date: Mon, 11 Jul 2022 22:03:14 +0200 +Subject: [PATCH] libsanitizer: cherry-pick 9cf13067cb5088626ba7 from upstream + +9cf13067cb5088626ba7ee1ec4c42ec59c7995a0 [sanitizer] Remove #include <linux/fs.h> to resolve fsconfig_command/mount_attr conflict with glibc 2.36 + +(cherry picked from commit 2701442d0cf6292f6624443c15813d6d1a3562fe) +--- 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; + diff --git a/sys-devel/gcc/gcc-10.4.0.ebuild b/sys-devel/gcc/gcc-10.4.0.ebuild index 31a46b613160..311d04b1e636 100644 --- a/sys-devel/gcc/gcc-10.4.0.ebuild +++ b/sys-devel/gcc/gcc-10.4.0.ebuild @@ -43,6 +43,8 @@ RDEPEND="" BDEPEND="${CATEGORY}/binutils" src_prepare() { + eapply "${FILESDIR}"/${P}-glibc-2.36.patch + local p upstreamed_patches=( # add them here ) diff --git a/sys-devel/gcc/gcc-11.3.0.ebuild b/sys-devel/gcc/gcc-11.3.0.ebuild index a90a5c1bc452..93499169999c 100644 --- a/sys-devel/gcc/gcc-11.3.0.ebuild +++ b/sys-devel/gcc/gcc-11.3.0.ebuild @@ -23,5 +23,6 @@ BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]" src_prepare() { toolchain_src_prepare + eapply "${FILESDIR}"/${P}-glibc-2.36.patch eapply_user } |