aboutsummaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/binutils-oracle/2.30/version.desc4
-rw-r--r--packages/binutils-oracle/git-43eccdca/0000-Fix-a-missing-include-of-string.patch24
-rw-r--r--packages/binutils-oracle/git-43eccdca/0001-revert-rpm-dd-changes.patch940
-rw-r--r--packages/binutils-oracle/git-43eccdca/0002-fix_to_patch_92.patch44
-rw-r--r--packages/expat/2.4.1/version.desc1
-rw-r--r--packages/expat/2.5.0/chksum17
-rw-r--r--packages/expat/2.5.0/version.desc (renamed from packages/linux/4.14.290/version.desc)0
-rw-r--r--packages/gcc/10.4.0/0010-fixinc-don-t-fix-machine-names-in-__has_include-.PR.patch123
-rw-r--r--packages/gcc/11.3.0/0010-fixinc-don-t-fix-machine-names-in-__has_include-.PR.patch123
-rw-r--r--packages/glibc-oracle/2.28/version.desc4
-rw-r--r--packages/glibc/2.26/0006-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch105
-rw-r--r--packages/glibc/2.27/0002-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch105
-rw-r--r--packages/glibc/2.28/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch105
-rw-r--r--packages/glibc/2.29/0004-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch105
-rw-r--r--packages/glibc/2.30/0004-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch105
-rw-r--r--packages/glibc/2.31/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch105
-rw-r--r--packages/glibc/2.32/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch105
-rw-r--r--packages/glibc/2.33/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch105
-rw-r--r--packages/glibc/2.34/0002-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch105
-rw-r--r--packages/glibc/2.35/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch105
-rw-r--r--packages/glibc/2.36/0002-Mimic-kernel-defition-for-BLOCK_SIZE.patch30
-rw-r--r--packages/glibc/2.36/0003-Use-compile_c_snippet-to-check-linux_mount.h.patch32
-rw-r--r--packages/glibc/2.36/0004-Fix_sys_mount.h_usage_with_kernel_headers.patch336
-rw-r--r--packages/glibc/2.36/0005-Fix-enum-fsconfig_command-detection-in-sys_mount.h.patch43
-rw-r--r--packages/glibc/2.36/0006-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch114
-rw-r--r--packages/linux/4.14.290/chksum8
-rw-r--r--packages/linux/4.14.301/chksum8
-rw-r--r--packages/linux/4.14.301/version.desc (renamed from packages/linux/4.19.254/version.desc)0
-rw-r--r--packages/linux/4.19.254/chksum8
-rw-r--r--packages/linux/4.19.268/chksum8
-rw-r--r--packages/linux/4.19.268/version.desc (renamed from packages/linux/4.9.325/version.desc)0
-rw-r--r--packages/linux/4.9.325/chksum8
-rw-r--r--packages/linux/4.9.335/chksum8
-rw-r--r--packages/linux/4.9.335/version.desc (renamed from packages/linux/5.10.134/version.desc)0
-rw-r--r--packages/linux/5.10.134/chksum8
-rw-r--r--packages/linux/5.10.158/chksum8
-rw-r--r--packages/linux/5.10.158/version.desc (renamed from packages/linux/5.15.58/version.desc)0
-rw-r--r--packages/linux/5.15.58/chksum8
-rw-r--r--packages/linux/5.15.82/chksum8
-rw-r--r--packages/linux/5.15.82/version.desc (renamed from packages/linux/5.19.2/version.desc)0
-rw-r--r--packages/linux/5.19.16/chksum8
-rw-r--r--packages/linux/5.19.16/version.desc (renamed from packages/linux/5.4.208/version.desc)0
-rw-r--r--packages/linux/5.19.2/chksum9
-rw-r--r--packages/linux/5.4.208/chksum8
-rw-r--r--packages/linux/5.4.226/chksum8
-rw-r--r--packages/linux/5.4.226/version.desc (renamed from packages/picolibc/1.7.8/version.desc)0
-rw-r--r--packages/linux/6.0.12/chksum8
-rw-r--r--packages/linux/6.0.12/version.desc (renamed from packages/strace/5.19/version.desc)0
-rw-r--r--packages/linux/6.1/chksum8
-rw-r--r--packages/linux/6.1/version.desc0
-rw-r--r--packages/make/4.2.1/version.desc2
-rw-r--r--packages/make/4.3/version.desc1
-rw-r--r--packages/make/4.4/chksum8
-rw-r--r--packages/make/4.4/version.desc0
-rw-r--r--packages/newlib-nano/package.desc2
-rw-r--r--packages/newlib/package.desc2
-rw-r--r--packages/picolibc/1.7.8/chksum4
-rw-r--r--packages/picolibc/1.7.9/chksum4
-rw-r--r--packages/picolibc/1.7.9/version.desc0
-rw-r--r--packages/strace/5.19/chksum4
-rw-r--r--packages/strace/6.1/chksum4
-rw-r--r--packages/strace/6.1/version.desc0
-rw-r--r--packages/zlib/1.2.12/version.desc1
-rw-r--r--packages/zlib/1.2.13/0000-mingw-static-only.patch28
-rw-r--r--packages/zlib/1.2.13/0001-crossbuild-macos-libtool.patch34
-rw-r--r--packages/zlib/1.2.13/chksum8
-rw-r--r--packages/zlib/1.2.13/version.desc0
-rw-r--r--packages/zlib/package.desc2
68 files changed, 3045 insertions, 73 deletions
diff --git a/packages/binutils-oracle/2.30/version.desc b/packages/binutils-oracle/2.30/version.desc
index edc3c4e2..3f9982b0 100644
--- a/packages/binutils-oracle/2.30/version.desc
+++ b/packages/binutils-oracle/2.30/version.desc
@@ -1,2 +1,2 @@
-repository_branch='oracle/binutils/ol8-u6'
-version_number='2.30-113.0.3'
+repository_branch='oracle/binutils/ol8-u7'
+version_number='2.30-117.0.3'
diff --git a/packages/binutils-oracle/git-43eccdca/0000-Fix-a-missing-include-of-string.patch b/packages/binutils-oracle/git-43eccdca/0000-Fix-a-missing-include-of-string.patch
new file mode 100644
index 00000000..141ddf82
--- /dev/null
+++ b/packages/binutils-oracle/git-43eccdca/0000-Fix-a-missing-include-of-string.patch
@@ -0,0 +1,24 @@
+This patch is a backport from binutils-gdb commit:
+a3972330f4: Fix a missing include of <string>
+
+This code is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3, or (at your option) any
+later version.
+
+This code is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+diff -Nur binutils-gdb/gold/errors.h binutils-gdb-oracle/gold/errors.h
+--- binutils-gdb/gold/errors.h 2022-06-16 17:49:08.412691685 -0500
++++ binutils-gdb-oracle/gold/errors.h 2022-06-16 18:34:19.463006903 -0500
+@@ -24,6 +24,7 @@
+ #define GOLD_ERRORS_H
+
+ #include <cstdarg>
++#include <string>
+
+ #include "gold-threads.h"
+
diff --git a/packages/binutils-oracle/git-43eccdca/0001-revert-rpm-dd-changes.patch b/packages/binutils-oracle/git-43eccdca/0001-revert-rpm-dd-changes.patch
new file mode 100644
index 00000000..e517637f
--- /dev/null
+++ b/packages/binutils-oracle/git-43eccdca/0001-revert-rpm-dd-changes.patch
@@ -0,0 +1,940 @@
+commit 6220d114b2f28345efbcea55c1befb1f0d40c215
+Author: Cupertino Miranda <cupertino.miranda@oracle.com>
+Date: Mon Dec 5 20:17:30 2022 +0000
+
+ Revert "LAST DIFFERENCES"
+
+ This reverts commit 43eccdca2998f3e04c8a32590345739f3f321372.
+
+diff --git a/bfd/config.bfd b/bfd/config.bfd
+index cf02b010926..4d821d7eefc 100644
+--- a/bfd/config.bfd
++++ b/bfd/config.bfd
+@@ -53,7 +53,7 @@ case $targ in
+ echo "*** Use or1k-*-elf or or1k-*-linux as the target instead" >&2
+ exit 1
+ ;;
+- i[34567]86-*-netbsdelf* | i[34567]86-*-netbsd*-gnu* | i[34567]86-*-knetbsd*-gnu | \
++ i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu | \
+ mips*-*-irix5* | mips*-*-irix6*)
+ # Not obsolete
+ ;;
+@@ -63,24 +63,24 @@ case $targ in
+ arm*-*-coff | \
+ h8300*-*-coff | \
+ h8500*-*-coff | \
+- i[34567]86-*-sco3.2v5*coff | \
+- i[34567]86-*-sysv4* | i[34567]86-*-unixware* | \
+- i[34567]86-*-sco3.2v5* | \
+- i[34567]86-*-dgux* | i[34567]86-*-sysv5* | \
+- i[34567]86-*-chorus* | \
+- i[34567]86-*-sysv* | i[34567]86-*-isc* | i[34567]86-*-sco* | i[34567]86-*-coff | \
+- i[34567]86-*-aix* | \
+- i[34567]86-sequent-bsd* | \
+- i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd[12].* | \
+- i[34567]86-*-freebsd[12] | \
+- i[34567]86-*-netbsdaout* | i[34567]86-*-netbsd* | \
+- i[34567]86-*-openbsd[0-2].* | i[34567]86-*-openbsd3.[0-3] | \
+- i[34567]86-*-netware* | \
+- i[34567]86-*-linux*aout* | \
+- i[34567]86-*-mach* | i[34567]86-*-osf1mk* | \
+- i[34567]86-*-os9k | \
+- i[34567]86-none-* | \
+- i[34567]86-*-aout* | i[34567]86*-*-vsta* | \
++ i[3-7]86-*-sco3.2v5*coff | \
++ i[3-7]86-*-sysv4* | i[3-7]86-*-unixware* | \
++ i[3-7]86-*-sco3.2v5* | \
++ i[3-7]86-*-dgux* | i[3-7]86-*-sysv5* | \
++ i[3-7]86-*-chorus* | \
++ i[3-7]86-*-sysv* | i[3-7]86-*-isc* | i[3-7]86-*-sco* | i[3-7]86-*-coff | \
++ i[3-7]86-*-aix* | \
++ i[3-7]86-sequent-bsd* | \
++ i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \
++ i[3-7]86-*-freebsd[12] | \
++ i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \
++ i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3] | \
++ i[3-7]86-*-netware* | \
++ i[3-7]86-*-linux*aout* | \
++ i[3-7]86-*-mach* | i[3-7]86-*-osf1mk* | \
++ i[3-7]86-*-os9k | \
++ i[3-7]86-none-* | \
++ i[3-7]86-*-aout* | i[3-7]86*-*-vsta* | \
+ i860-*-* | \
+ i960-*-* | \
+ m68*-motorola-sysv* | m68*-hp-bsd* | m68*-*-aout* | \
+@@ -170,7 +170,7 @@ crx*) targ_archs=bfd_crx_arch ;;
+ dlx*) targ_archs=bfd_dlx_arch ;;
+ fido*) targ_archs=bfd_m68k_arch ;;
+ hppa*) targ_archs=bfd_hppa_arch ;;
+-i[34567]86) targ_archs=bfd_i386_arch ;;
++i[3-7]86) targ_archs=bfd_i386_arch ;;
+ i370) targ_archs=bfd_i370_arch ;;
+ ia16) targ_archs=bfd_i386_arch ;;
+ lm32) targ_archs=bfd_lm32_arch ;;
+@@ -627,17 +627,17 @@ case "${targ}" in
+ targ_selvecs="i370_elf32_vec"
+ ;;
+
+- i[34567]86-*-sco3.2v5*coff)
++ i[3-7]86-*-sco3.2v5*coff)
+ targ_defvec=i386_coff_vec
+ targ_selvecs=i386_elf32_vec
+ ;;
+- i[34567]86-*-sysv4* | i[34567]86-*-unixware* | \
+- i[34567]86-*-elf* | i[34567]86-*-sco3.2v5* | \
+- i[34567]86-*-dgux* | i[34567]86-*-sysv5* | i[34567]86-*-rtems*)
++ i[3-7]86-*-sysv4* | i[3-7]86-*-unixware* | \
++ i[3-7]86-*-elf* | i[3-7]86-*-sco3.2v5* | \
++ i[3-7]86-*-dgux* | i[3-7]86-*-sysv5* | i[3-7]86-*-rtems*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="iamcu_elf32_vec i386_coff_vec"
+ ;;
+- i[34567]86-*-solaris2*)
++ i[3-7]86-*-solaris2*)
+ targ_defvec=i386_elf32_sol2_vec
+ targ_selvecs="iamcu_elf32_vec i386_coff_vec i386_pei_vec"
+ targ64_selvecs="x86_64_elf64_sol2_vec l1om_elf64_vec k1om_elf64_vec x86_64_pei_vec"
+@@ -650,23 +650,23 @@ case "${targ}" in
+ want64=true
+ ;;
+ #endif
+- i[34567]86-*-kaos*)
++ i[3-7]86-*-kaos*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs=i386_elf32_vec
+ ;;
+- i[34567]86-*-nto*)
++ i[3-7]86-*-nto*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="iamcu_elf32_vec i386_coff_vec"
+ ;;
+- i[34567]86-*-aros*)
++ i[3-7]86-*-aros*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs=iamcu_elf32_vec
+ ;;
+- i[34567]86-*-chorus*)
++ i[3-7]86-*-chorus*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs=iamcu_elf32_vec
+ ;;
+- i[34567]86-*-dicos*)
++ i[3-7]86-*-dicos*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs=iamcu_elf32_vec
+ targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec"
+@@ -675,85 +675,85 @@ case "${targ}" in
+ targ_defvec=i386_coff_go32_vec
+ targ_selvecs="i386_coff_go32stubbed_vec i386_aout_vec"
+ ;;
+- i[34567]86-*-sysv* | i[34567]86-*-isc* | i[34567]86-*-sco* | i[34567]86-*-coff | \
+- i[34567]86-*-aix*)
++ i[3-7]86-*-sysv* | i[3-7]86-*-isc* | i[3-7]86-*-sco* | i[3-7]86-*-coff | \
++ i[3-7]86-*-aix*)
+ targ_defvec=i386_coff_vec
+ ;;
+- i[34567]86-*-darwin* | i[34567]86-*-macos10* | i[34567]86-*-rhapsody*)
++ i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*)
+ targ_defvec=i386_mach_o_vec
+ targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
+ targ64_selvecs=x86_64_mach_o_vec
+ targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch"
+ ;;
+- i[34567]86-sequent-bsd*)
++ i[3-7]86-sequent-bsd*)
+ targ_defvec=i386_aout_dynix_vec
+ targ_underscore=yes
+ ;;
+- i[34567]86-*-bsd*)
++ i[3-7]86-*-bsd*)
+ targ_defvec=i386_aout_bsd_vec
+ targ_underscore=yes
+ ;;
+- i[34567]86-*-dragonfly*)
++ i[3-7]86-*-dragonfly*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs=iamcu_elf32_vec
+ targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec"
+ ;;
+- i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd[12].* | \
+- i[34567]86-*-freebsd[12])
++ i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \
++ i[3-7]86-*-freebsd[12])
+ targ_defvec=i386_aout_fbsd_vec
+ targ_selvecs=i386_aout_bsd_vec
+ targ_underscore=yes
+ ;;
+- i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu)
++ i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
+ targ_defvec=i386_elf32_fbsd_vec
+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_pei_vec i386_coff_vec"
+ targ64_selvecs="x86_64_elf64_fbsd_vec x86_64_elf64_vec x86_64_pei_vec l1om_elf64_vec l1om_elf64_fbsd_vec k1om_elf64_vec k1om_elf64_fbsd_vec"
+ # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
+ case "${targ}" in
+- i[34567]86-*-freebsd3* | i[34567]86-*-freebsd4 | i[34567]86-*-freebsd4.0*)
++ i[3-7]86-*-freebsd3* | i[3-7]86-*-freebsd4 | i[3-7]86-*-freebsd4.0*)
+ targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;;
+ esac
+ ;;
+- i[34567]86-*-netbsdelf* | i[34567]86-*-netbsd*-gnu* | i[34567]86-*-knetbsd*-gnu)
++ i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="i386_aout_nbsd_vec iamcu_elf32_vec"
+ targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec"
+ ;;
+- i[34567]86-*-netbsdpe*)
++ i[3-7]86-*-netbsdpe*)
+ targ_defvec=i386_pe_vec
+ targ_selvecs="i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec"
+ ;;
+- i[34567]86-*-netbsdaout* | i[34567]86-*-netbsd* | \
+- i[34567]86-*-openbsd[0-2].* | i[34567]86-*-openbsd3.[0-3])
++ i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \
++ i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3])
+ targ_defvec=i386_aout_nbsd_vec
+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_aout_bsd_vec"
+ targ_underscore=yes
+ ;;
+- i[34567]86-*-openbsd*)
++ i[3-7]86-*-openbsd*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="iamcu_elf32_vec i386_aout_nbsd_vec"
+ ;;
+- i[34567]86-*-netware*)
++ i[3-7]86-*-netware*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="iamcu_elf32_vec i386_nlm32_vec i386_coff_vec i386_aout_vec"
+ ;;
+- i[34567]86-*-linux*aout*)
++ i[3-7]86-*-linux*aout*)
+ targ_defvec=i386_aout_linux_vec
+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec"
+ targ_underscore=yes
+ ;;
+- i[34567]86-*-linux-*)
++ i[3-7]86-*-linux-*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="iamcu_elf32_vec i386_aout_linux_vec i386_pei_vec"
+ targ64_selvecs="x86_64_elf64_vec x86_64_elf32_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
+ ;;
+- i[34567]86-*-nacl*)
++ i[3-7]86-*-nacl*)
+ targ_defvec=i386_elf32_nacl_vec
+ targ_selvecs="arm_elf32_nacl_be_vec arm_elf32_nacl_le_vec"
+ targ64_selvecs="x86_64_elf64_nacl_vec x86_64_elf32_nacl_vec"
+ targ_archs="$targ_archs bfd_arm_arch"
+ ;;
+- i[34567]86-*-redox*)
++ i[3-7]86-*-redox*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs=
+ targ64_selvecs=x86_64_elf64_vec
+@@ -821,64 +821,64 @@ case "${targ}" in
+ want64=true
+ ;;
+ #endif
+- i[34567]86-*-lynxos*)
++ i[3-7]86-*-lynxos*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="iamcu_elf32_vec i386_coff_lynx_vec i386_aout_lynx_vec"
+ ;;
+- i[34567]86-*-gnu*)
++ i[3-7]86-*-gnu*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs=iamcu_elf32_vec
+ ;;
+- i[34567]86-*-mach* | i[34567]86-*-osf1mk*)
++ i[3-7]86-*-mach* | i[3-7]86-*-osf1mk*)
+ targ_defvec=i386_aout_mach3_vec
+ targ_cflags=-DSTAT_FOR_EXEC
+ targ_underscore=yes
+ ;;
+- i[34567]86-*-os9k)
++ i[3-7]86-*-os9k)
+ targ_defvec=i386_aout_os9k_vec
+ ;;
+- i[34567]86-*-msdos*)
++ i[3-7]86-*-msdos*)
+ targ_defvec=i386_aout_vec
+ targ_selvecs=i386_msdos_vec
+ ;;
+- i[34567]86-*-moss*)
++ i[3-7]86-*-moss*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="iamcu_elf32_vec i386_msdos_vec i386_aout_vec"
+ ;;
+- i[34567]86-*-beospe*)
++ i[3-7]86-*-beospe*)
+ targ_defvec=i386_pe_vec
+ targ_selvecs="i386_pe_vec i386_pei_vec"
+ ;;
+- i[34567]86-*-beoself* | i[34567]86-*-beos*)
++ i[3-7]86-*-beoself* | i[3-7]86-*-beos*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="iamcu_elf32_vec i386_pe_vec i386_pei_vec"
+ ;;
+- i[34567]86-*-interix*)
++ i[3-7]86-*-interix*)
+ targ_defvec=i386_pei_vec
+ targ_selvecs="i386_pe_vec"
+ # FIXME: This should eventually be checked at runtime.
+ targ_cflags=-DSTRICT_PE_FORMAT
+ ;;
+- i[34567]86-*-rdos*)
++ i[3-7]86-*-rdos*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="iamcu_elf32_vec i386_coff_vec"
+ ;;
+- i[34567]86-*-mingw32* | i[34567]86-*-cygwin* | i[34567]86-*-winnt | i[34567]86-*-pe)
++ i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-winnt | i[3-7]86-*-pe)
+ targ_defvec=i386_pe_vec
+ targ_selvecs="i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec"
+ targ_underscore=yes
+ ;;
+- i[34567]86-none-*)
++ i[3-7]86-none-*)
+ targ_defvec=i386_coff_vec
+ ;;
+- i[34567]86-*-aout* | i[34567]86*-*-vsta*)
++ i[3-7]86-*-aout* | i[3-7]86*-*-vsta*)
+ targ_defvec=i386_aout_vec
+ ;;
+- i[34567]86-*-vxworks*)
++ i[3-7]86-*-vxworks*)
+ targ_defvec=i386_elf32_vxworks_vec
+ targ_underscore=yes
+ ;;
+- i[34567]86-*-chaos)
++ i[3-7]86-*-chaos)
+ targ_defvec=i386_elf32_vec
+ targ_selfvecs="iamcu_elf32_vec i386chaos_vec"
+ ;;
+diff --git a/bfd/configure b/bfd/configure
+index adc6cdf1c01..da810fe1c1d 100755
+--- a/bfd/configure
++++ b/bfd/configure
+@@ -11910,7 +11910,7 @@ fi
+
+
+ case "${host}" in
+- sparc-*-solaris*|i[34567]86-*-solaris*)
++ sparc-*-solaris*|i[3-7]86-*-solaris*)
+ # On native 32bit sparc and ia32 solaris, large-file and procfs support
+ # are mutually exclusive; and without procfs support, the bfd/ elf module
+ # cannot provide certain routines such as elfcore_write_prpsinfo
+@@ -14840,45 +14840,45 @@ if test "${target}" = "${host}"; then
+ TRAD_HEADER='"hosts/i370linux.h"'
+ ;;
+
+- i[34567]86-sequent-bsd*)
++ i[3-7]86-sequent-bsd*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/symmetry.h"'
+ ;;
+- i[34567]86-sequent-sysv4*) ;;
+- i[34567]86-sequent-sysv*)
++ i[3-7]86-sequent-sysv4*) ;;
++ i[3-7]86-sequent-sysv*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/symmetry.h"'
+ ;;
+- i[34567]86-*-bsdi)
++ i[3-7]86-*-bsdi)
+ COREFILE=
+ ;;
+- i[34567]86-*-bsd* | i[34567]86-*-freebsd[123] | i[34567]86-*-freebsd[123]\.* | i[34567]86-*-freebsd4\.[01234] | i[34567]86-*-freebsd4\.[01234]\.* | i[34567]86-*-freebsd*aout*)
++ i[3-7]86-*-bsd* | i[3-7]86-*-freebsd[123] | i[3-7]86-*-freebsd[123]\.* | i[3-7]86-*-freebsd4\.[01234] | i[3-7]86-*-freebsd4\.[01234]\.* | i[3-7]86-*-freebsd*aout*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386bsd.h"'
+ ;;
+- i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-dragonfly*)
++ i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu | i[3-7]86-*-dragonfly*)
+ COREFILE=''
+ TRAD_HEADER='"hosts/i386bsd.h"'
+ ;;
+- i[34567]86-*-netbsd* | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-openbsd*)
++ i[3-7]86-*-netbsd* | i[3-7]86-*-knetbsd*-gnu | i[3-7]86-*-openbsd*)
+ COREFILE=netbsd-core.lo
+ ;;
+- i[34567]86-esix-sysv3*)
++ i[3-7]86-esix-sysv3*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/esix.h"'
+ ;;
+- i[34567]86-*-sco3.2v5*)
++ i[3-7]86-*-sco3.2v5*)
+ COREFILE=sco5-core.lo
+ ;;
+- i[34567]86-*-sco* | i[34567]86-*-isc*)
++ i[3-7]86-*-sco* | i[3-7]86-*-isc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386sco.h"'
+ ;;
+- i[34567]86-*-mach3*)
++ i[3-7]86-*-mach3*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386mach3.h"'
+ ;;
+- i[34567]86-*-linux-*)
++ i[3-7]86-*-linux-*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386linux.h"'
+ case "$enable_targets"-"$want64" in
+@@ -14886,8 +14886,8 @@ if test "${target}" = "${host}"; then
+ CORE_HEADER='"hosts/x86-64linux.h"'
+ esac
+ ;;
+- i[34567]86-*-isc*) COREFILE=trad-core.lo ;;
+- i[34567]86-*-aix*) COREFILE=aix386-core.lo ;;
++ i[3-7]86-*-isc*) COREFILE=trad-core.lo ;;
++ i[3-7]86-*-aix*) COREFILE=aix386-core.lo ;;
+ i860-*-mach3* | i860-*-osf1*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i860mach3.h"'
+diff --git a/bfd/configure.ac b/bfd/configure.ac
+index fa2e0ec0133..95daa5a86de 100644
+--- a/bfd/configure.ac
++++ b/bfd/configure.ac
+@@ -884,65 +884,65 @@ if test "${target}" = "${host}"; then
+ ;;
+
+ changequote(,)dnl
+- i[34567]86-sequent-bsd*)
++ i[3-7]86-sequent-bsd*)
+ changequote([,])dnl
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/symmetry.h"'
+ ;;
+ changequote(,)dnl
+- i[34567]86-sequent-sysv4*) ;;
+- i[34567]86-sequent-sysv*)
++ i[3-7]86-sequent-sysv4*) ;;
++ i[3-7]86-sequent-sysv*)
+ changequote([,])dnl
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/symmetry.h"'
+ ;;
+ changequote(,)dnl
+- i[34567]86-*-bsdi)
++ i[3-7]86-*-bsdi)
+ changequote([,])dnl
+ COREFILE=
+ ;;
+ changequote(,)dnl
+- i[34567]86-*-bsd* | i[34567]86-*-freebsd[123] | i[34567]86-*-freebsd[123]\.* | i[34567]86-*-freebsd4\.[01234] | i[34567]86-*-freebsd4\.[01234]\.* | i[34567]86-*-freebsd*aout*)
++ i[3-7]86-*-bsd* | i[3-7]86-*-freebsd[123] | i[3-7]86-*-freebsd[123]\.* | i[3-7]86-*-freebsd4\.[01234] | i[3-7]86-*-freebsd4\.[01234]\.* | i[3-7]86-*-freebsd*aout*)
+ changequote([,])dnl
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386bsd.h"'
+ ;;
+ changequote(,)dnl
+- i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-dragonfly*)
++ i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu | i[3-7]86-*-dragonfly*)
+ changequote([,])dnl
+ COREFILE=''
+ TRAD_HEADER='"hosts/i386bsd.h"'
+ ;;
+ changequote(,)dnl
+- i[34567]86-*-netbsd* | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-openbsd*)
++ i[3-7]86-*-netbsd* | i[3-7]86-*-knetbsd*-gnu | i[3-7]86-*-openbsd*)
+ changequote([,])dnl
+ COREFILE=netbsd-core.lo
+ ;;
+ changequote(,)dnl
+- i[34567]86-esix-sysv3*)
++ i[3-7]86-esix-sysv3*)
+ changequote([,])dnl
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/esix.h"'
+ ;;
+ changequote(,)dnl
+- i[34567]86-*-sco3.2v5*)
++ i[3-7]86-*-sco3.2v5*)
+ changequote([,])dnl
+ COREFILE=sco5-core.lo
+ ;;
+ changequote(,)dnl
+- i[34567]86-*-sco* | i[34567]86-*-isc*)
++ i[3-7]86-*-sco* | i[3-7]86-*-isc*)
+ changequote([,])dnl
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386sco.h"'
+ ;;
+ changequote(,)dnl
+- i[34567]86-*-mach3*)
++ i[3-7]86-*-mach3*)
+ changequote([,])dnl
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386mach3.h"'
+ ;;
+ changequote(,)dnl
+- i[34567]86-*-linux-*)
++ i[3-7]86-*-linux-*)
+ changequote([,])dnl
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386linux.h"'
+@@ -952,8 +952,8 @@ changequote([,])dnl
+ esac
+ ;;
+ changequote(,)dnl
+- i[34567]86-*-isc*) COREFILE=trad-core.lo ;;
+- i[34567]86-*-aix*) COREFILE=aix386-core.lo ;;
++ i[3-7]86-*-isc*) COREFILE=trad-core.lo ;;
++ i[3-7]86-*-aix*) COREFILE=aix386-core.lo ;;
+ changequote([,])dnl
+ i860-*-mach3* | i860-*-osf1*)
+ COREFILE=trad-core.lo
+diff --git a/bfd/configure.host b/bfd/configure.host
+index bfae19a0884..486de7f055f 100644
+--- a/bfd/configure.host
++++ b/bfd/configure.host
+@@ -54,11 +54,11 @@ ia64-*-*) host64=true;;
+
+ # Workaround for limitations on win9x where file contents are
+ # not zero'd out if you seek past the end and then write.
+-i[34567]86-*-mingw32*) HDEFINES=-D__USE_MINGW_FSEEK;;
++i[3-7]86-*-mingw32*) HDEFINES=-D__USE_MINGW_FSEEK;;
+
+-i[34567]86-sequent-bsd*) HDEFINES=-Dshared=genshared ;;
+-i[34567]86-sequent-sysv4*) ;;
+-i[34567]86-sequent-sysv*) HDEFINES=-Dshared=genshared ;;
++i[3-7]86-sequent-bsd*) HDEFINES=-Dshared=genshared ;;
++i[3-7]86-sequent-sysv4*) ;;
++i[3-7]86-sequent-sysv*) HDEFINES=-Dshared=genshared ;;
+
+ mips*-*-netbsd*) ;;
+ mips*-*-openbsd*) ;;
+diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c
+index 6d48ff5b074..9d4dbcee009 100644
+--- a/bfd/elf32-ppc.c
++++ b/bfd/elf32-ppc.c
+@@ -10738,7 +10738,7 @@ ppc_elf_finish_dynamic_sections (bfd *output_bfd,
+ #define ELF_MACHINE_CODE EM_PPC
+ #ifdef __QNXTARGET__
+ #define ELF_MAXPAGESIZE 0x1000
+-#define ELF_COMMONPAGESIZE 0x10000
++#define ELF_COMMONPAGESIZE 0x1000
+ #else
+ #define ELF_MAXPAGESIZE 0x10000
+ #define ELF_COMMONPAGESIZE 0x10000
+diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
+index 68dc02335ab..8fa422f3ac7 100644
+--- a/bfd/elfnn-aarch64.c
++++ b/bfd/elfnn-aarch64.c
+@@ -9381,7 +9381,7 @@ const struct elf_size_info elfNN_aarch64_size_info =
+ #define ELF_MACHINE_CODE EM_AARCH64
+ #define ELF_MAXPAGESIZE 0x10000
+ #define ELF_MINPAGESIZE 0x1000
+-#define ELF_COMMONPAGESIZE 0x10000
++#define ELF_COMMONPAGESIZE 0x1000
+
+ #define bfd_elfNN_close_and_cleanup \
+ elfNN_aarch64_close_and_cleanup
+diff --git a/binutils/configure b/binutils/configure
+index df671b95788..7d76ea887bc 100755
+--- a/binutils/configure
++++ b/binutils/configure
+@@ -11706,7 +11706,7 @@ fi
+
+
+ case "${host}" in
+- sparc-*-solaris*|i[34567]86-*-solaris*)
++ sparc-*-solaris*|i[3-7]86-*-solaris*)
+ # On native 32bit sparc and ia32 solaris, large-file and procfs support
+ # are mutually exclusive; and without procfs support, the bfd/ elf module
+ # cannot provide certain routines such as elfcore_write_prpsinfo
+@@ -14479,7 +14479,7 @@ do
+ od_vectors="$od_vectors objdump_private_desc_xcoff"
+ else
+ case $targ in
+- i[34567]86*-*-netware*)
++ i[3-7]86*-*-netware*)
+ BUILD_NLMCONV='$(NLMCONV_PROG)$(EXEEXT)'
+ NLMCONV_DEFS="$NLMCONV_DEFS -DNLMCONV_I386"
+ ;;
+@@ -14539,7 +14539,7 @@ do
+ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
+ BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)'
+ ;;
+- i[34567]86-*-pe* | i[34567]86-*-cygwin* | i[34567]86-*-mingw32** | i[34567]86-*-netbsdpe*)
++ i[3-7]86-*-pe* | i[3-7]86-*-cygwin* | i[3-7]86-*-mingw32** | i[3-7]86-*-netbsdpe*)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
+ DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_I386"
+@@ -14549,7 +14549,7 @@ do
+ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
+ BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)'
+ ;;
+- i[34567]86-*-interix)
++ i[3-7]86-*-interix)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)'
+ if test -z "$DLLTOOL_DEFAULT"; then
+ DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_I386"
+diff --git a/binutils/configure.ac b/binutils/configure.ac
+index 63466c584b6..6d3eaa31fe1 100644
+--- a/binutils/configure.ac
++++ b/binutils/configure.ac
+@@ -264,7 +264,7 @@ do
+ else
+ case $targ in
+ changequote(,)dnl
+- i[34567]86*-*-netware*)
++ i[3-7]86*-*-netware*)
+ changequote([,])dnl
+ BUILD_NLMCONV='$(NLMCONV_PROG)$(EXEEXT)'
+ NLMCONV_DEFS="$NLMCONV_DEFS -DNLMCONV_I386"
+@@ -326,7 +326,7 @@ changequote([,])dnl
+ BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)'
+ ;;
+ changequote(,)dnl
+- i[34567]86-*-pe* | i[34567]86-*-cygwin* | i[34567]86-*-mingw32** | i[34567]86-*-netbsdpe*)
++ i[3-7]86-*-pe* | i[3-7]86-*-cygwin* | i[3-7]86-*-mingw32** | i[3-7]86-*-netbsdpe*)
+ changequote([,])dnl
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
+@@ -338,7 +338,7 @@ changequote([,])dnl
+ BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)'
+ ;;
+ changequote(,)dnl
+- i[34567]86-*-interix)
++ i[3-7]86-*-interix)
+ changequote([,])dnl
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)'
+ if test -z "$DLLTOOL_DEFAULT"; then
+diff --git a/gas/configure b/gas/configure
+index f4a4b1256d6..2d7f44717e2 100755
+--- a/gas/configure
++++ b/gas/configure
+@@ -11472,7 +11472,7 @@ fi
+
+
+ case "${host}" in
+- sparc-*-solaris*|i[34567]86-*-solaris*)
++ sparc-*-solaris*|i[3-7]86-*-solaris*)
+ # On native 32bit sparc and ia32 solaris, large-file and procfs support
+ # are mutually exclusive; and without procfs support, the bfd/ elf module
+ # cannot provide certain routines such as elfcore_write_prpsinfo
+diff --git a/gas/configure.tgt b/gas/configure.tgt
+index abf7e02e869..afe4e0608cf 100644
+--- a/gas/configure.tgt
++++ b/gas/configure.tgt
+@@ -61,7 +61,7 @@ case ${cpu} in
+ epiphany*) cpu_type=epiphany endian=little ;;
+ fido) cpu_type=m68k ;;
+ hppa*) cpu_type=hppa ;;
+- i[34567]86) cpu_type=i386 arch=i386;;
++ i[3-7]86) cpu_type=i386 arch=i386;;
+ ia16) cpu_type=i386 arch=i386;;
+ ia64) cpu_type=ia64 ;;
+ ip2k) cpu_type=ip2k endian=big ;;
+diff --git a/gold/aarch64.cc b/gold/aarch64.cc
+index 1d11420dee7..f77c4cc3187 100644
+--- a/gold/aarch64.cc
++++ b/gold/aarch64.cc
+@@ -3554,7 +3554,7 @@ const Target::Target_info Target_aarch64<64, false>::aarch64_info =
+ "/lib/ld.so.1", // program interpreter
+ 0x400000, // default_text_segment_address
+ 0x10000, // abi_pagesize (overridable by -z max-page-size)
+- 0x10000, // common_pagesize (overridable by -z common-page-size)
++ 0x1000, // common_pagesize (overridable by -z common-page-size)
+ false, // isolate_execinstr
+ 0, // rosegment_gap
+ elfcpp::SHN_UNDEF, // small_common_shndx
+@@ -3582,7 +3582,7 @@ const Target::Target_info Target_aarch64<32, false>::aarch64_info =
+ "/lib/ld.so.1", // program interpreter
+ 0x400000, // default_text_segment_address
+ 0x10000, // abi_pagesize (overridable by -z max-page-size)
+- 0x10000, // common_pagesize (overridable by -z common-page-size)
++ 0x1000, // common_pagesize (overridable by -z common-page-size)
+ false, // isolate_execinstr
+ 0, // rosegment_gap
+ elfcpp::SHN_UNDEF, // small_common_shndx
+@@ -3610,7 +3610,7 @@ const Target::Target_info Target_aarch64<64, true>::aarch64_info =
+ "/lib/ld.so.1", // program interpreter
+ 0x400000, // default_text_segment_address
+ 0x10000, // abi_pagesize (overridable by -z max-page-size)
+- 0x10000, // common_pagesize (overridable by -z common-page-size)
++ 0x1000, // common_pagesize (overridable by -z common-page-size)
+ false, // isolate_execinstr
+ 0, // rosegment_gap
+ elfcpp::SHN_UNDEF, // small_common_shndx
+@@ -3638,7 +3638,7 @@ const Target::Target_info Target_aarch64<32, true>::aarch64_info =
+ "/lib/ld.so.1", // program interpreter
+ 0x400000, // default_text_segment_address
+ 0x10000, // abi_pagesize (overridable by -z max-page-size)
+- 0x10000, // common_pagesize (overridable by -z common-page-size)
++ 0x1000, // common_pagesize (overridable by -z common-page-size)
+ false, // isolate_execinstr
+ 0, // rosegment_gap
+ elfcpp::SHN_UNDEF, // small_common_shndx
+diff --git a/gold/powerpc.cc b/gold/powerpc.cc
+index 7869d20595b..f6d589c6ea7 100644
+--- a/gold/powerpc.cc
++++ b/gold/powerpc.cc
+@@ -1614,7 +1614,7 @@ Target::Target_info Target_powerpc<32, true>::powerpc_info =
+ "/usr/lib/ld.so.1", // dynamic_linker
+ 0x10000000, // default_text_segment_address
+ 64 * 1024, // abi_pagesize (overridable by -z max-page-size)
+- 64 * 1024, // common_pagesize (overridable by -z common-page-size)
++ 4 * 1024, // common_pagesize (overridable by -z common-page-size)
+ false, // isolate_execinstr
+ 0, // rosegment_gap
+ elfcpp::SHN_UNDEF, // small_common_shndx
+@@ -1642,7 +1642,7 @@ Target::Target_info Target_powerpc<32, false>::powerpc_info =
+ "/usr/lib/ld.so.1", // dynamic_linker
+ 0x10000000, // default_text_segment_address
+ 64 * 1024, // abi_pagesize (overridable by -z max-page-size)
+- 64 * 1024, // common_pagesize (overridable by -z common-page-size)
++ 4 * 1024, // common_pagesize (overridable by -z common-page-size)
+ false, // isolate_execinstr
+ 0, // rosegment_gap
+ elfcpp::SHN_UNDEF, // small_common_shndx
+@@ -1670,7 +1670,7 @@ Target::Target_info Target_powerpc<64, true>::powerpc_info =
+ "/usr/lib/ld.so.1", // dynamic_linker
+ 0x10000000, // default_text_segment_address
+ 64 * 1024, // abi_pagesize (overridable by -z max-page-size)
+- 64 * 1024, // common_pagesize (overridable by -z common-page-size)
++ 4 * 1024, // common_pagesize (overridable by -z common-page-size)
+ false, // isolate_execinstr
+ 0, // rosegment_gap
+ elfcpp::SHN_UNDEF, // small_common_shndx
+@@ -1698,7 +1698,7 @@ Target::Target_info Target_powerpc<64, false>::powerpc_info =
+ "/usr/lib/ld.so.1", // dynamic_linker
+ 0x10000000, // default_text_segment_address
+ 64 * 1024, // abi_pagesize (overridable by -z max-page-size)
+- 64 * 1024, // common_pagesize (overridable by -z common-page-size)
++ 4 * 1024, // common_pagesize (overridable by -z common-page-size)
+ false, // isolate_execinstr
+ 0, // rosegment_gap
+ elfcpp::SHN_UNDEF, // small_common_shndx
+diff --git a/gprof/configure b/gprof/configure
+index bbcd676c610..e0f2bef7776 100755
+--- a/gprof/configure
++++ b/gprof/configure
+@@ -11382,7 +11382,7 @@ fi
+
+
+ case "${host}" in
+- sparc-*-solaris*|i[34567]86-*-solaris*)
++ sparc-*-solaris*|i[3-7]86-*-solaris*)
+ # On native 32bit sparc and ia32 solaris, large-file and procfs support
+ # are mutually exclusive; and without procfs support, the bfd/ elf module
+ # cannot provide certain routines such as elfcore_write_prpsinfo
+diff --git a/ld/configure b/ld/configure
+index 9431f3b6ea2..e43ddd698cf 100755
+--- a/ld/configure
++++ b/ld/configure
+@@ -15221,7 +15221,7 @@ fi
+
+
+ case "${host}" in
+- sparc-*-solaris*|i[34567]86-*-solaris*)
++ sparc-*-solaris*|i[3-7]86-*-solaris*)
+ # On native 32bit sparc and ia32 solaris, large-file and procfs support
+ # are mutually exclusive; and without procfs support, the bfd/ elf module
+ # cannot provide certain routines such as elfcore_write_prpsinfo
+diff --git a/ld/configure.tgt b/ld/configure.tgt
+index 1a70497ae98..6183a85b3d1 100644
+--- a/ld/configure.tgt
++++ b/ld/configure.tgt
+@@ -241,32 +241,32 @@ hppa*-*-openbsd*) targ_emul=hppaobsd
+ ;;
+ i370-*-elf* | i370-*-linux-*) targ_emul=elf32i370
+ ;;
+-i[34567]86-*-nto-qnx*) targ_emul=i386nto ;;
+-i[34567]86-*-vsta) targ_emul=vsta ;;
+-i[34567]86-*-go32) targ_emul=i386go32 ;;
+-i[34567]86-*-msdosdjgpp*) targ_emul=i386go32 ;;
+-i[34567]86-*-aix*) targ_emul=i386coff ;;
+-i[34567]86-*-sco*) targ_emul=i386coff ;;
+-i[34567]86-*-isc*) targ_emul=i386coff ;;
+-i[34567]86-*-lynxos*) targ_emul=i386lynx ;;
+-i[34567]86-*-coff) targ_emul=i386coff ;;
+-i[34567]86-*-aros*) targ_emul=elf_i386
++i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;;
++i[3-7]86-*-vsta) targ_emul=vsta ;;
++i[3-7]86-*-go32) targ_emul=i386go32 ;;
++i[3-7]86-*-msdosdjgpp*) targ_emul=i386go32 ;;
++i[3-7]86-*-aix*) targ_emul=i386coff ;;
++i[3-7]86-*-sco*) targ_emul=i386coff ;;
++i[3-7]86-*-isc*) targ_emul=i386coff ;;
++i[3-7]86-*-lynxos*) targ_emul=i386lynx ;;
++i[3-7]86-*-coff) targ_emul=i386coff ;;
++i[3-7]86-*-aros*) targ_emul=elf_i386
+ targ_extra_emuls=elf_iamcu ;;
+-i[34567]86-*-rdos*) targ_emul=elf_i386
++i[3-7]86-*-rdos*) targ_emul=elf_i386
+ targ_extra_emuls=elf_iamcu ;;
+ x86_64-*-rdos*) targ_emul=elf64rdos ;;
+ x86_64-*-cloudabi*) targ_emul=elf_x86_64_cloudabi ;;
+-i[34567]86-*-bsd) targ_emul=i386bsd ;;
+-i[34567]86-*-bsd386) targ_emul=i386bsd ;;
+-i[34567]86-*-bsdi*) targ_emul=i386bsd ;;
+-i[34567]86-*-aout) targ_emul=i386aout ;;
+-i[34567]86-*-linux*aout*) targ_emul=i386linux
++i[3-7]86-*-bsd) targ_emul=i386bsd ;;
++i[3-7]86-*-bsd386) targ_emul=i386bsd ;;
++i[3-7]86-*-bsdi*) targ_emul=i386bsd ;;
++i[3-7]86-*-aout) targ_emul=i386aout ;;
++i[3-7]86-*-linux*aout*) targ_emul=i386linux
+ targ_extra_emuls="elf_i386 elf_iamcu"
+ tdir_elf_iamcu=`echo ${targ_alias} | sed -e 's/aout//'`
+ tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'` ;;
+-i[34567]86-*-linux*oldld) targ_emul=i386linux
++i[3-7]86-*-linux*oldld) targ_emul=i386linux
+ targ_extra_emuls="elf_i386 elf_iamcu" ;;
+-i[34567]86-*-linux-*) targ_emul=elf_i386
++i[3-7]86-*-linux-*) targ_emul=elf_i386
+ targ_extra_emuls="i386linux elf_iamcu"
+ targ64_extra_emuls="elf_x86_64 elf32_x86_64 elf_l1om elf_k1om"
+ targ64_extra_libpath="elf_x86_64 elf32_x86_64"
+@@ -282,13 +282,13 @@ x86_64-*-linux-*) targ_emul=elf_x86_64
+ targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om"
+ tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'`
+ tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;;
+-i[34567]86-*-redox*) targ_emul=elf_i386
++i[3-7]86-*-redox*) targ_emul=elf_i386
+ targ_extra_emuls=elf_x86_64 ;;
+ x86_64-*-redox*) targ_emul=elf_x86_64
+ targ_extra_emuls=elf_i386 ;;
+-i[34567]86-*-sysv[45]*) targ_emul=elf_i386
++i[3-7]86-*-sysv[45]*) targ_emul=elf_i386
+ targ_extra_emuls=elf_iamcu ;;
+-i[34567]86-*-solaris2*) targ_emul=elf_i386_sol2
++i[3-7]86-*-solaris2*) targ_emul=elf_i386_sol2
+ targ_extra_emuls="elf_i386_ldso elf_i386 elf_iamcu elf_x86_64_sol2 elf_x86_64 elf_l1om elf_k1om"
+ targ_extra_libpath=$targ_extra_emuls
+ ;;
+@@ -297,20 +297,20 @@ x86_64-*-solaris2*)
+ targ_extra_emuls="elf_x86_64 elf_i386_sol2 elf_i386_ldso elf_i386 elf_iamcu elf_l1om elf_k1om"
+ targ_extra_libpath=$targ_extra_emuls
+ tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;;
+-i[34567]86-*-unixware) targ_emul=elf_i386
++i[3-7]86-*-unixware) targ_emul=elf_i386
+ targ_extra_emuls=elf_iamcu ;;
+-i[34567]86-*-solaris*) targ_emul=elf_i386_ldso
++i[3-7]86-*-solaris*) targ_emul=elf_i386_ldso
+ targ_extra_emuls="elf_i386"
+ targ_extra_libpath=$targ_extra_emuls
+ ;;
+-i[34567]86-*-netbsdelf* | \
+-i[34567]86-*-netbsd*-gnu* | \
+-i[34567]86-*-knetbsd*-gnu)
++i[3-7]86-*-netbsdelf* | \
++i[3-7]86-*-netbsd*-gnu* | \
++i[3-7]86-*-knetbsd*-gnu)
+ targ_emul=elf_i386
+ targ_extra_emuls="elf_iamcu i386nbsd" ;;
+-i[34567]86-*-netbsdpe*) targ_emul=i386pe
++i[3-7]86-*-netbsdpe*) targ_emul=i386pe
+ targ_extra_ofiles="deffilep.o pe-dll.o" ;;
+-i[34567]86-*-netbsd*) targ_emul=i386nbsd
++i[3-7]86-*-netbsd*) targ_emul=i386nbsd
+ targ_extra_emuls=elf_i386 ;;
+ x86_64-*-netbsd*) targ_emul=elf_x86_64
+ targ_extra_emuls="elf_i386 elf_iamcu i386nbsd elf_l1om elf_k1om"
+@@ -328,10 +328,10 @@ x86_64-*-netbsd*) targ_emul=elf_x86_64
+ *) tdir_elf_i386=`echo ${tdir_elf_i386} | \
+ sed -e 's/netbsd/netbsdelf/'`;;
+ esac ;;
+-i[34567]86-*-netware) targ_emul=i386nw ;;
+-i[34567]86-*-elfiamcu) targ_emul=elf_iamcu
++i[3-7]86-*-netware) targ_emul=i386nw ;;
++i[3-7]86-*-elfiamcu) targ_emul=elf_iamcu
+ targ_extra_emuls=elf_i386 ;;
+-i[34567]86-*-elf* | i[34567]86-*-rtems*)
++i[3-7]86-*-elf* | i[3-7]86-*-rtems*)
+ targ_emul=elf_i386
+ targ_extra_emuls=elf_iamcu ;;
+ x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia*)
+@@ -340,14 +340,14 @@ x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia*)
+ targ_extra_libpath="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om"
+ tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'`
+ ;;
+-i[34567]86-*-kaos*) targ_emul=elf_i386 ;;
+-i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12])
++i[3-7]86-*-kaos*) targ_emul=elf_i386 ;;
++i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | i[3-7]86-*-freebsd[12])
+ targ_emul=i386bsd ;;
+-i[34567]86-*-dragonfly*) targ_emul=elf_i386
++i[3-7]86-*-dragonfly*) targ_emul=elf_i386
+ targ_extra_emuls="elf_iamcu i386bsd" ;;
+ x86_64-*-dragonfly*) targ_emul=elf_x86_64
+ targ_extra_emuls="elf_i386 elf_iamcu elf_l1om elf_k1om" ;;
+-i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu)
++i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
+ targ_emul=elf_i386_fbsd
+ targ_extra_emuls="elf_i386 elf_iamcu i386bsd" ;;
+ x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
+@@ -360,21 +360,21 @@ x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
+ | sed -e 's/x86_64/i386/'`
+ tdir_elf_i386=`echo ${targ_alias} \
+ | sed -e 's/x86_64/i386/'` ;;
+-i[34567]86-*-sysv*) targ_emul=i386coff ;;
+-i[34567]86-*-ptx*) targ_emul=i386coff ;;
+-i[34567]86-*-mach*) targ_emul=i386mach ;;
+-i[34567]86-*-gnu*) targ_emul=elf_i386
++i[3-7]86-*-sysv*) targ_emul=i386coff ;;
++i[3-7]86-*-ptx*) targ_emul=i386coff ;;
++i[3-7]86-*-mach*) targ_emul=i386mach ;;
++i[3-7]86-*-gnu*) targ_emul=elf_i386
+ targ_extra_emuls=elf_iamcu ;;
+-i[34567]86-*-msdos*) targ_emul=i386msdos; targ_extra_emuls=i386aout ;;
+-i[34567]86-*-moss*) targ_emul=i386moss; targ_extra_emuls=i386msdos ;;
+-i[34567]86-*-winnt*) targ_emul=i386pe ;
++i[3-7]86-*-msdos*) targ_emul=i386msdos; targ_extra_emuls=i386aout ;;
++i[3-7]86-*-moss*) targ_emul=i386moss; targ_extra_emuls=i386msdos ;;
++i[3-7]86-*-winnt*) targ_emul=i386pe ;
+ targ_extra_ofiles="deffilep.o pe-dll.o" ;;
+-i[34567]86-*-pe) targ_emul=i386pe ;
++i[3-7]86-*-pe) targ_emul=i386pe ;
+ targ_extra_ofiles="deffilep.o pe-dll.o" ;;
+-i[34567]86-*-cygwin*) targ_emul=i386pe ;
++i[3-7]86-*-cygwin*) targ_emul=i386pe ;
+ targ_extra_ofiles="deffilep.o pe-dll.o" ;
+ test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' ;;
+-i[34567]86-*-mingw32*) targ_emul=i386pe ;
++i[3-7]86-*-mingw32*) targ_emul=i386pe ;
+ targ_extra_ofiles="deffilep.o pe-dll.o" ;;
+ x86_64-*-pe | x86_64-*-pep) targ_emul=i386pep ;
+ targ_extra_emuls=i386pe ;
+@@ -386,14 +386,14 @@ x86_64-*-cygwin) targ_emul=i386pep ;
+ x86_64-*-mingw*) targ_emul=i386pep ;
+ targ_extra_emuls=i386pe
+ targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" ;;
+-i[34567]86-*-interix*) targ_emul=i386pe_posix;
++i[3-7]86-*-interix*) targ_emul=i386pe_posix;
+ targ_extra_ofiles="deffilep.o pe-dll.o" ;;
+-i[34567]86-*-beospe*) targ_emul=i386beos ;;
+-i[34567]86-*-beos*) targ_emul=elf_i386_be ;;
+-i[34567]86-*-vxworks*) targ_emul=elf_i386_vxworks ;;
+-i[34567]86-*-chaos) targ_emul=elf_i386_chaos
++i[3-7]86-*-beospe*) targ_emul=i386beos ;;
++i[3-7]86-*-beos*) targ_emul=elf_i386_be ;;
++i[3-7]86-*-vxworks*) targ_emul=elf_i386_vxworks ;;
++i[3-7]86-*-chaos) targ_emul=elf_i386_chaos
+ ;;
+-i[34567]86-*-nacl*) targ_emul=elf_i386_nacl
++i[3-7]86-*-nacl*) targ_emul=elf_i386_nacl
+ targ_extra_emuls="armelf_nacl armelfb_nacl"
+ targ_extra_libpath=$targ_extra_emuls
+ targ64_extra_emuls="elf32_x86_64_nacl elf_x86_64_nacl"
+@@ -903,15 +903,15 @@ hppa*64*-*-hpux11*)
+ NATIVE_LIB_DIRS=/usr/lib/pa20_64
+ ;;
+
+-i[34567]86-*-sysv4*)
++i[3-7]86-*-sysv4*)
+ NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib'
+ ;;
+
+-i[34567]86-*-solaris*)
++i[3-7]86-*-solaris*)
+ NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib'
+ ;;
+
+-i[34567]86-pc-interix*)
++i[3-7]86-pc-interix*)
+ NATIVE_LIB_DIRS='/usr/local/lib $$INTERIX_ROOT/usr/lib /lib /usr/lib'
+ ;;
+
diff --git a/packages/binutils-oracle/git-43eccdca/0002-fix_to_patch_92.patch b/packages/binutils-oracle/git-43eccdca/0002-fix_to_patch_92.patch
new file mode 100644
index 00000000..41b3b9f5
--- /dev/null
+++ b/packages/binutils-oracle/git-43eccdca/0002-fix_to_patch_92.patch
@@ -0,0 +1,44 @@
+diff --git a/gold/i386.cc b/gold/i386.cc
+index a65f3a034df..3f1312c8640 100644
+--- a/gold/i386.cc
++++ b/gold/i386.cc
+@@ -1081,7 +1081,7 @@ Target_i386::record_gnu_property(
+ {
+ uint32_t val = 0;
+
+- switch (pr_type)
++ switch ((unsigned int) pr_type)
+ {
+ case elfcpp::GNU_PROPERTY_X86_ISA_1_USED:
+ case elfcpp::GNU_PROPERTY_X86_ISA_1_NEEDED:
+@@ -1102,7 +1102,7 @@ Target_i386::record_gnu_property(
+ break;
+ }
+
+- switch (pr_type)
++ switch ((unsigned int) pr_type)
+ {
+ case elfcpp::GNU_PROPERTY_X86_ISA_1_USED:
+ this->isa_1_used_ |= val;
+diff --git a/gold/x86_64.cc b/gold/x86_64.cc
+index 16bcffc9541..63b551957ef 100644
+--- a/gold/x86_64.cc
++++ b/gold/x86_64.cc
+@@ -1468,7 +1468,7 @@ Target_x86_64<size>::record_gnu_property(
+ {
+ uint32_t val = 0;
+
+- switch (pr_type)
++ switch ((unsigned int) pr_type)
+ {
+ case elfcpp::GNU_PROPERTY_X86_ISA_1_USED:
+ case elfcpp::GNU_PROPERTY_X86_ISA_1_NEEDED:
+@@ -1489,7 +1489,7 @@ Target_x86_64<size>::record_gnu_property(
+ break;
+ }
+
+- switch (pr_type)
++ switch ((unsigned int) pr_type)
+ {
+ case elfcpp::GNU_PROPERTY_X86_ISA_1_USED:
+ this->isa_1_used_ |= val;
diff --git a/packages/expat/2.4.1/version.desc b/packages/expat/2.4.1/version.desc
index e69de29b..fcfe3891 100644
--- a/packages/expat/2.4.1/version.desc
+++ b/packages/expat/2.4.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/expat/2.5.0/chksum b/packages/expat/2.5.0/chksum
new file mode 100644
index 00000000..e81826d7
--- /dev/null
+++ b/packages/expat/2.5.0/chksum
@@ -0,0 +1,17 @@
+md5 expat-2.5.0.tar.xz ac6677b6d1b95d209ab697ce8b688704
+sha1 expat-2.5.0.tar.xz 5178e13c1e34f4643d5118d5758babfe0e836fe2
+sha256 expat-2.5.0.tar.xz ef2420f0232c087801abf705e89ae65f6257df6b7931d37846a193ef2e8cdcbe
+sha512 expat-2.5.0.tar.xz 2da73b991b7c0c54440485c787e5edeb3567230204e31b3cac1c3a6713ec6f9f1554d3afffc0f8336168dfd5df02db4a69bcf21b4d959723d14162d13ab87516
+md5 expat-2.5.0.tar.lz 4add8675872d4b923d9b7871dc0f24d3
+sha1 expat-2.5.0.tar.lz 9f767155627006b383f54078f2fa0d7df5b9d6e6
+sha256 expat-2.5.0.tar.lz 9a51edebc8c2910d8cc2b5e6b8d98350dea559922208f3e1a6bb5de33b6c2dc6
+sha512 expat-2.5.0.tar.lz 59ec89d471cda38fab853c85ff5ffc0631d6fa2c376e7246a933f8d317f037672e8142cf1408477f5724192a05ace1baa51a533c605a78532863d5f178e37c08
+md5 expat-2.5.0.tar.bz2 5e9974d422dc4b157f300568ad28ebf6
+sha1 expat-2.5.0.tar.bz2 36e29d7192ab8c5ce44d09375318a0a81395aab0
+sha256 expat-2.5.0.tar.bz2 6f0e6e01f7b30025fa05c85fdad1e5d0ec7fd35d9f61b22f34998de11969ff67
+sha512 expat-2.5.0.tar.bz2 22fd904d75aab7506a85c03519b9cf79e44898c8e1ba6abf6cb7f95de71b8e63a7e2d5cf4395e3627d46035ea29342b3e631a8809fef8aad3f59976dc075ad17
+md5 expat-2.5.0.tar.gz 686e9d986f85966c7924dfc041cdc15e
+sha1 expat-2.5.0.tar.gz 061c1232188dff35e44aa7137aec7757d3d90d27
+sha256 expat-2.5.0.tar.gz 6b902ab103843592be5e99504f846ec109c1abb692e85347587f237a4ffa1033
+sha512 expat-2.5.0.tar.gz f1ff7da5fafb47dcd6e0f0d892826aba6de76509c8497bc00382f1109ab8e2a93d396943dbb52216457044993a39d73728048adf650d8e83e28189edc7b78402
+
diff --git a/packages/linux/4.14.290/version.desc b/packages/expat/2.5.0/version.desc
index e69de29b..e69de29b 100644
--- a/packages/linux/4.14.290/version.desc
+++ b/packages/expat/2.5.0/version.desc
diff --git a/packages/gcc/10.4.0/0010-fixinc-don-t-fix-machine-names-in-__has_include-.PR.patch b/packages/gcc/10.4.0/0010-fixinc-don-t-fix-machine-names-in-__has_include-.PR.patch
new file mode 100644
index 00000000..2f8ad877
--- /dev/null
+++ b/packages/gcc/10.4.0/0010-fixinc-don-t-fix-machine-names-in-__has_include-.PR.patch
@@ -0,0 +1,123 @@
+From a6eedb593ca068d0ad8655dbb97fcd6371cba682 Mon Sep 17 00:00:00 2001
+From: Xi Ruoyao <xry111@mengyan1223.wang>
+Date: Mon, 28 Jun 2021 13:54:58 +0800
+Subject: [PATCH] fixinc: don't "fix" machine names in __has_include(...)
+ [PR91085]
+
+fixincludes/
+
+ PR other/91085
+ * fixfixes.c (check_has_inc): New static function.
+ (machine_name_fix): Don't replace header names in
+ __has_include(...).
+ * inclhack.def (machine_name): Adjust test.
+ * tests/base/testing.h: Update.
+
+Upstream: 6bf383c37e6131a8e247e8a0997d55d65c830b6d
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+---
+ fixincludes/fixfixes.c | 45 ++++++++++++++++++++++++++++++--
+ fixincludes/inclhack.def | 3 ++-
+ fixincludes/tests/base/testing.h | 2 +-
+ 3 files changed, 46 insertions(+), 4 deletions(-)
+
+diff --git a/fixincludes/fixfixes.c b/fixincludes/fixfixes.c
+index 034e15d9985..3ff87812036 100644
+--- a/fixincludes/fixfixes.c
++++ b/fixincludes/fixfixes.c
+@@ -477,6 +477,39 @@ FIX_PROC_HEAD( char_macro_def_fix )
+ fputs (text, stdout);
+ }
+
++/* Check if the pattern at pos is actually in a "__has_include(...)"
++ directive. Return the pointer to the ')' of this
++ "__has_include(...)" if it is, NULL otherwise. */
++static const char *
++check_has_inc (const char *begin, const char *pos, const char *end)
++{
++ static const char has_inc[] = "__has_include";
++ const size_t has_inc_len = sizeof (has_inc) - 1;
++ const char *p;
++
++ for (p = memmem (begin, pos - begin, has_inc, has_inc_len);
++ p != NULL;
++ p = memmem (p, pos - p, has_inc, has_inc_len))
++ {
++ p += has_inc_len;
++ while (p < end && ISSPACE (*p))
++ p++;
++
++ /* "__has_include" may appear as "defined(__has_include)",
++ search for the next appearance then. */
++ if (*p != '(')
++ continue;
++
++ /* To avoid too much complexity, just hope there is never a
++ ')' in a header name. */
++ p = memchr (p, ')', end - p);
++ if (p == NULL || p > pos)
++ return p;
++ }
++
++ return NULL;
++}
++
+ /* Fix for machine name #ifdefs that are not in the namespace reserved
+ by the C standard. They won't be defined if compiling with -ansi,
+ and the headers will break. We go to some trouble to only change
+@@ -524,7 +557,7 @@ FIX_PROC_HEAD( machine_name_fix )
+ /* If the 'name_pat' matches in between base and limit, we have
+ a bogon. It is not worth the hassle of excluding comments
+ because comments on #if/#ifdef lines are rare, and strings on
+- such lines are illegal.
++ such lines are only legal in a "__has_include" directive.
+
+ REG_NOTBOL means 'base' is not at the beginning of a line, which
+ shouldn't matter since the name_re has no ^ anchor, but let's
+@@ -544,8 +577,16 @@ FIX_PROC_HEAD( machine_name_fix )
+ break;
+
+ p = base + match[0].rm_so;
+- base += match[0].rm_eo;
+
++ /* Check if the match is in __has_include(...) (PR 91085). */
++ q = check_has_inc (base, p, limit);
++ if (q)
++ {
++ base = q + 1;
++ goto again;
++ }
++
++ base += match[0].rm_eo;
+ /* One more test: if on the same line we have the same string
+ with the appropriate underscores, then leave it alone.
+ We want exactly two leading and trailing underscores. */
+diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def
+index f58e7771e1c..71bd717c233 100644
+--- a/fixincludes/inclhack.def
++++ b/fixincludes/inclhack.def
+@@ -3114,7 +3114,8 @@ fix = {
+ c_fix = machine_name;
+
+ test_text = "/* MACH_DIFF: */\n"
+- "#if defined( i386 ) || defined( sparc ) || defined( vax )"
++ "#if defined( i386 ) || defined( sparc ) || defined( vax ) || "
++ "defined( linux ) || __has_include ( <linux.h> )"
+ "\n/* no uniform test, so be careful :-) */";
+ };
+
+diff --git a/fixincludes/tests/base/testing.h b/fixincludes/tests/base/testing.h
+index cf95321fb86..8b3accaf04e 100644
+--- a/fixincludes/tests/base/testing.h
++++ b/fixincludes/tests/base/testing.h
+@@ -64,7 +64,7 @@ BSD43__IOWR('T', 1) /* Some are multi-line */
+
+ #if defined( MACHINE_NAME_CHECK )
+ /* MACH_DIFF: */
+-#if defined( i386 ) || defined( sparc ) || defined( vax )
++#if defined( i386 ) || defined( sparc ) || defined( vax ) || defined( linux ) || __has_include ( <linux.h> )
+ /* no uniform test, so be careful :-) */
+ #endif /* MACHINE_NAME_CHECK */
+
+--
+2.37.3
diff --git a/packages/gcc/11.3.0/0010-fixinc-don-t-fix-machine-names-in-__has_include-.PR.patch b/packages/gcc/11.3.0/0010-fixinc-don-t-fix-machine-names-in-__has_include-.PR.patch
new file mode 100644
index 00000000..5e657bd2
--- /dev/null
+++ b/packages/gcc/11.3.0/0010-fixinc-don-t-fix-machine-names-in-__has_include-.PR.patch
@@ -0,0 +1,123 @@
+From de3f4ee9a5bd2adcb5ff2e1690db2567fda1473c Mon Sep 17 00:00:00 2001
+From: Xi Ruoyao <xry111@mengyan1223.wang>
+Date: Mon, 28 Jun 2021 13:54:58 +0800
+Subject: [PATCH] fixinc: don't "fix" machine names in __has_include(...)
+ [PR91085]
+
+fixincludes/
+
+ PR other/91085
+ * fixfixes.c (check_has_inc): New static function.
+ (machine_name_fix): Don't replace header names in
+ __has_include(...).
+ * inclhack.def (machine_name): Adjust test.
+ * tests/base/testing.h: Update.
+
+Upstream: 6bf383c37e6131a8e247e8a0997d55d65c830b6d
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+---
+ fixincludes/fixfixes.c | 45 ++++++++++++++++++++++++++++++--
+ fixincludes/inclhack.def | 3 ++-
+ fixincludes/tests/base/testing.h | 2 +-
+ 3 files changed, 46 insertions(+), 4 deletions(-)
+
+diff --git a/fixincludes/fixfixes.c b/fixincludes/fixfixes.c
+index 5b23a8b640d..404b420f302 100644
+--- a/fixincludes/fixfixes.c
++++ b/fixincludes/fixfixes.c
+@@ -477,6 +477,39 @@ FIX_PROC_HEAD( char_macro_def_fix )
+ fputs (text, stdout);
+ }
+
++/* Check if the pattern at pos is actually in a "__has_include(...)"
++ directive. Return the pointer to the ')' of this
++ "__has_include(...)" if it is, NULL otherwise. */
++static const char *
++check_has_inc (const char *begin, const char *pos, const char *end)
++{
++ static const char has_inc[] = "__has_include";
++ const size_t has_inc_len = sizeof (has_inc) - 1;
++ const char *p;
++
++ for (p = memmem (begin, pos - begin, has_inc, has_inc_len);
++ p != NULL;
++ p = memmem (p, pos - p, has_inc, has_inc_len))
++ {
++ p += has_inc_len;
++ while (p < end && ISSPACE (*p))
++ p++;
++
++ /* "__has_include" may appear as "defined(__has_include)",
++ search for the next appearance then. */
++ if (*p != '(')
++ continue;
++
++ /* To avoid too much complexity, just hope there is never a
++ ')' in a header name. */
++ p = memchr (p, ')', end - p);
++ if (p == NULL || p > pos)
++ return p;
++ }
++
++ return NULL;
++}
++
+ /* Fix for machine name #ifdefs that are not in the namespace reserved
+ by the C standard. They won't be defined if compiling with -ansi,
+ and the headers will break. We go to some trouble to only change
+@@ -524,7 +557,7 @@ FIX_PROC_HEAD( machine_name_fix )
+ /* If the 'name_pat' matches in between base and limit, we have
+ a bogon. It is not worth the hassle of excluding comments
+ because comments on #if/#ifdef lines are rare, and strings on
+- such lines are illegal.
++ such lines are only legal in a "__has_include" directive.
+
+ REG_NOTBOL means 'base' is not at the beginning of a line, which
+ shouldn't matter since the name_re has no ^ anchor, but let's
+@@ -544,8 +577,16 @@ FIX_PROC_HEAD( machine_name_fix )
+ break;
+
+ p = base + match[0].rm_so;
+- base += match[0].rm_eo;
+
++ /* Check if the match is in __has_include(...) (PR 91085). */
++ q = check_has_inc (base, p, limit);
++ if (q)
++ {
++ base = q + 1;
++ goto again;
++ }
++
++ base += match[0].rm_eo;
+ /* One more test: if on the same line we have the same string
+ with the appropriate underscores, then leave it alone.
+ We want exactly two leading and trailing underscores. */
+diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def
+index 066bef99162..b7ad6982e96 100644
+--- a/fixincludes/inclhack.def
++++ b/fixincludes/inclhack.def
+@@ -3154,7 +3154,8 @@ fix = {
+ c_fix = machine_name;
+
+ test_text = "/* MACH_DIFF: */\n"
+- "#if defined( i386 ) || defined( sparc ) || defined( vax )"
++ "#if defined( i386 ) || defined( sparc ) || defined( vax ) || "
++ "defined( linux ) || __has_include ( <linux.h> )"
+ "\n/* no uniform test, so be careful :-) */";
+ };
+
+diff --git a/fixincludes/tests/base/testing.h b/fixincludes/tests/base/testing.h
+index cf95321fb86..8b3accaf04e 100644
+--- a/fixincludes/tests/base/testing.h
++++ b/fixincludes/tests/base/testing.h
+@@ -64,7 +64,7 @@ BSD43__IOWR('T', 1) /* Some are multi-line */
+
+ #if defined( MACHINE_NAME_CHECK )
+ /* MACH_DIFF: */
+-#if defined( i386 ) || defined( sparc ) || defined( vax )
++#if defined( i386 ) || defined( sparc ) || defined( vax ) || defined( linux ) || __has_include ( <linux.h> )
+ /* no uniform test, so be careful :-) */
+ #endif /* MACHINE_NAME_CHECK */
+
+--
+2.37.3
diff --git a/packages/glibc-oracle/2.28/version.desc b/packages/glibc-oracle/2.28/version.desc
index 05402ba2..fd7da0a1 100644
--- a/packages/glibc-oracle/2.28/version.desc
+++ b/packages/glibc-oracle/2.28/version.desc
@@ -1,2 +1,2 @@
-repository_branch='oracle/glibc/ol8-u6'
-version_number='2.28-189.1.0.1'
+repository_branch='oracle/glibc/ol8-u7'
+version_number='2.28-211.0.1'
diff --git a/packages/glibc/2.26/0006-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.26/0006-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
new file mode 100644
index 00000000..b8c927d6
--- /dev/null
+++ b/packages/glibc/2.26/0006-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
@@ -0,0 +1,105 @@
+From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Tue, 13 Sep 2022 13:39:13 -0400
+Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4
+ [BZ# 29564]
+
+make-4.4 will add long flags to MAKEFLAGS variable:
+
+ * WARNING: Backward-incompatibility!
+ Previously only simple (one-letter) options were added to the MAKEFLAGS
+ variable that was visible while parsing makefiles. Now, all options
+ are available in MAKEFLAGS.
+
+This causes locale builds to fail when long options are used:
+
+ $ make --shuffle
+ ...
+ make -C localedata install-locales
+ make: invalid shuffle mode: '1662724426r'
+
+The change fixes it by passing eash option via whitespace and dashes.
+That way option is appended to both single-word form and whitespace
+separated form.
+
+While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering
+out --long-options. Otherwise options like --shuffle flag enable silent
+mode unintentionally. $(silent-make) variable consolidates the checks.
+
+Resolves: BZ# 29564
+
+CC: Paul Smith <psmith@gnu.org>
+CC: Siddhesh Poyarekar <siddhesh@gotplt.org>
+Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
+Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
+---
+ Makeconfig | 18 +++++++++++++++++-
+ Makerules | 4 ++--
+ elf/rtld-Rules | 2 +-
+ 3 files changed, 20 insertions(+), 4 deletions(-)
+
+--- a/Makeconfig
++++ b/Makeconfig
+@@ -42,6 +42,22 @@
+ objdir must be defined by the build-directory Makefile.
+ endif
+
++# Did we request 'make -s' run? "yes" or "no".
++# Starting from make-4.4 MAKEFLAGS now contains long
++# options like '--shuffle'. To detect presence of 's'
++# we pick first word with short options. Long options
++# are guaranteed to come after whitespace. We use '-'
++# prefix to always have a word before long options
++# even if no short options were passed.
++# Typical MAKEFLAGS values to watch for:
++# "rs --shuffle=42" (silent)
++# " --shuffle" (not silent)
++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),)
++silent-make := no
++else
++silent-make := yes
++endif
++
+ # Root of the sysdeps tree.
+ sysdep_dir := $(..)sysdeps
+ export sysdep_dir := $(sysdep_dir)
+@@ -858,7 +874,7 @@
+ # umpteen zillion filenames along with it (we use `...' instead)
+ # but we don't want this echoing done when the user has said
+ # he doesn't want to see commands echoed by using -s.
+-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s
++ifeq ($(silent-make),yes) # if -s
+ +cmdecho := echo >/dev/null
+ else # not -s
+ +cmdecho := echo
+--- a/Makerules
++++ b/Makerules
+@@ -868,7 +868,7 @@
+ # Maximize efficiency by minimizing the number of rules.
+ .SUFFIXES: # Clear the suffix list. We don't use suffix rules.
+ # Don't define any builtin rules.
+-MAKEFLAGS := $(MAKEFLAGS)r
++MAKEFLAGS := $(MAKEFLAGS) -r
+
+ # Generic rule for making directories.
+ %/:
+@@ -885,7 +885,7 @@
+ .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c))
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
+--- a/elf/rtld-Rules
++++ b/elf/rtld-Rules
+@@ -52,7 +52,7 @@
+ mv -f $@T $@
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
diff --git a/packages/glibc/2.27/0002-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.27/0002-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
new file mode 100644
index 00000000..3ff2df01
--- /dev/null
+++ b/packages/glibc/2.27/0002-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
@@ -0,0 +1,105 @@
+From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Tue, 13 Sep 2022 13:39:13 -0400
+Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4
+ [BZ# 29564]
+
+make-4.4 will add long flags to MAKEFLAGS variable:
+
+ * WARNING: Backward-incompatibility!
+ Previously only simple (one-letter) options were added to the MAKEFLAGS
+ variable that was visible while parsing makefiles. Now, all options
+ are available in MAKEFLAGS.
+
+This causes locale builds to fail when long options are used:
+
+ $ make --shuffle
+ ...
+ make -C localedata install-locales
+ make: invalid shuffle mode: '1662724426r'
+
+The change fixes it by passing eash option via whitespace and dashes.
+That way option is appended to both single-word form and whitespace
+separated form.
+
+While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering
+out --long-options. Otherwise options like --shuffle flag enable silent
+mode unintentionally. $(silent-make) variable consolidates the checks.
+
+Resolves: BZ# 29564
+
+CC: Paul Smith <psmith@gnu.org>
+CC: Siddhesh Poyarekar <siddhesh@gotplt.org>
+Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
+Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
+---
+ Makeconfig | 18 +++++++++++++++++-
+ Makerules | 4 ++--
+ elf/rtld-Rules | 2 +-
+ 3 files changed, 20 insertions(+), 4 deletions(-)
+
+--- a/Makeconfig
++++ b/Makeconfig
+@@ -42,6 +42,22 @@
+ objdir must be defined by the build-directory Makefile.
+ endif
+
++# Did we request 'make -s' run? "yes" or "no".
++# Starting from make-4.4 MAKEFLAGS now contains long
++# options like '--shuffle'. To detect presence of 's'
++# we pick first word with short options. Long options
++# are guaranteed to come after whitespace. We use '-'
++# prefix to always have a word before long options
++# even if no short options were passed.
++# Typical MAKEFLAGS values to watch for:
++# "rs --shuffle=42" (silent)
++# " --shuffle" (not silent)
++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),)
++silent-make := no
++else
++silent-make := yes
++endif
++
+ # Root of the sysdeps tree.
+ sysdep_dir := $(..)sysdeps
+ export sysdep_dir := $(sysdep_dir)
+@@ -875,7 +891,7 @@
+ # umpteen zillion filenames along with it (we use `...' instead)
+ # but we don't want this echoing done when the user has said
+ # he doesn't want to see commands echoed by using -s.
+-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s
++ifeq ($(silent-make),yes) # if -s
+ +cmdecho := echo >/dev/null
+ else # not -s
+ +cmdecho := echo
+--- a/Makerules
++++ b/Makerules
+@@ -871,7 +871,7 @@
+ # Maximize efficiency by minimizing the number of rules.
+ .SUFFIXES: # Clear the suffix list. We don't use suffix rules.
+ # Don't define any builtin rules.
+-MAKEFLAGS := $(MAKEFLAGS)r
++MAKEFLAGS := $(MAKEFLAGS) -r
+
+ # Generic rule for making directories.
+ %/:
+@@ -888,7 +888,7 @@
+ .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c))
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
+--- a/elf/rtld-Rules
++++ b/elf/rtld-Rules
+@@ -52,7 +52,7 @@
+ mv -f $@T $@
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
diff --git a/packages/glibc/2.28/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.28/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
new file mode 100644
index 00000000..9a4cdec5
--- /dev/null
+++ b/packages/glibc/2.28/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
@@ -0,0 +1,105 @@
+From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Tue, 13 Sep 2022 13:39:13 -0400
+Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4
+ [BZ# 29564]
+
+make-4.4 will add long flags to MAKEFLAGS variable:
+
+ * WARNING: Backward-incompatibility!
+ Previously only simple (one-letter) options were added to the MAKEFLAGS
+ variable that was visible while parsing makefiles. Now, all options
+ are available in MAKEFLAGS.
+
+This causes locale builds to fail when long options are used:
+
+ $ make --shuffle
+ ...
+ make -C localedata install-locales
+ make: invalid shuffle mode: '1662724426r'
+
+The change fixes it by passing eash option via whitespace and dashes.
+That way option is appended to both single-word form and whitespace
+separated form.
+
+While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering
+out --long-options. Otherwise options like --shuffle flag enable silent
+mode unintentionally. $(silent-make) variable consolidates the checks.
+
+Resolves: BZ# 29564
+
+CC: Paul Smith <psmith@gnu.org>
+CC: Siddhesh Poyarekar <siddhesh@gotplt.org>
+Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
+Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
+---
+ Makeconfig | 18 +++++++++++++++++-
+ Makerules | 4 ++--
+ elf/rtld-Rules | 2 +-
+ 3 files changed, 20 insertions(+), 4 deletions(-)
+
+--- a/Makeconfig
++++ b/Makeconfig
+@@ -42,6 +42,22 @@
+ objdir must be defined by the build-directory Makefile.
+ endif
+
++# Did we request 'make -s' run? "yes" or "no".
++# Starting from make-4.4 MAKEFLAGS now contains long
++# options like '--shuffle'. To detect presence of 's'
++# we pick first word with short options. Long options
++# are guaranteed to come after whitespace. We use '-'
++# prefix to always have a word before long options
++# even if no short options were passed.
++# Typical MAKEFLAGS values to watch for:
++# "rs --shuffle=42" (silent)
++# " --shuffle" (not silent)
++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),)
++silent-make := no
++else
++silent-make := yes
++endif
++
+ # Root of the sysdeps tree.
+ sysdep_dir := $(..)sysdeps
+ export sysdep_dir := $(sysdep_dir)
+@@ -878,7 +894,7 @@
+ # umpteen zillion filenames along with it (we use `...' instead)
+ # but we don't want this echoing done when the user has said
+ # he doesn't want to see commands echoed by using -s.
+-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s
++ifeq ($(silent-make),yes) # if -s
+ +cmdecho := echo >/dev/null
+ else # not -s
+ +cmdecho := echo
+--- a/Makerules
++++ b/Makerules
+@@ -875,7 +875,7 @@
+ # Maximize efficiency by minimizing the number of rules.
+ .SUFFIXES: # Clear the suffix list. We don't use suffix rules.
+ # Don't define any builtin rules.
+-MAKEFLAGS := $(MAKEFLAGS)r
++MAKEFLAGS := $(MAKEFLAGS) -r
+
+ # Generic rule for making directories.
+ %/:
+@@ -892,7 +892,7 @@
+ .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c))
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
+--- a/elf/rtld-Rules
++++ b/elf/rtld-Rules
+@@ -52,7 +52,7 @@
+ mv -f $@T $@
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
diff --git a/packages/glibc/2.29/0004-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.29/0004-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
new file mode 100644
index 00000000..33dab461
--- /dev/null
+++ b/packages/glibc/2.29/0004-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
@@ -0,0 +1,105 @@
+From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Tue, 13 Sep 2022 13:39:13 -0400
+Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4
+ [BZ# 29564]
+
+make-4.4 will add long flags to MAKEFLAGS variable:
+
+ * WARNING: Backward-incompatibility!
+ Previously only simple (one-letter) options were added to the MAKEFLAGS
+ variable that was visible while parsing makefiles. Now, all options
+ are available in MAKEFLAGS.
+
+This causes locale builds to fail when long options are used:
+
+ $ make --shuffle
+ ...
+ make -C localedata install-locales
+ make: invalid shuffle mode: '1662724426r'
+
+The change fixes it by passing eash option via whitespace and dashes.
+That way option is appended to both single-word form and whitespace
+separated form.
+
+While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering
+out --long-options. Otherwise options like --shuffle flag enable silent
+mode unintentionally. $(silent-make) variable consolidates the checks.
+
+Resolves: BZ# 29564
+
+CC: Paul Smith <psmith@gnu.org>
+CC: Siddhesh Poyarekar <siddhesh@gotplt.org>
+Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
+Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
+---
+ Makeconfig | 18 +++++++++++++++++-
+ Makerules | 4 ++--
+ elf/rtld-Rules | 2 +-
+ 3 files changed, 20 insertions(+), 4 deletions(-)
+
+--- a/Makeconfig
++++ b/Makeconfig
+@@ -42,6 +42,22 @@
+ objdir must be defined by the build-directory Makefile.
+ endif
+
++# Did we request 'make -s' run? "yes" or "no".
++# Starting from make-4.4 MAKEFLAGS now contains long
++# options like '--shuffle'. To detect presence of 's'
++# we pick first word with short options. Long options
++# are guaranteed to come after whitespace. We use '-'
++# prefix to always have a word before long options
++# even if no short options were passed.
++# Typical MAKEFLAGS values to watch for:
++# "rs --shuffle=42" (silent)
++# " --shuffle" (not silent)
++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),)
++silent-make := no
++else
++silent-make := yes
++endif
++
+ # Root of the sysdeps tree.
+ sysdep_dir := $(..)sysdeps
+ export sysdep_dir := $(sysdep_dir)
+@@ -880,7 +896,7 @@
+ # umpteen zillion filenames along with it (we use `...' instead)
+ # but we don't want this echoing done when the user has said
+ # he doesn't want to see commands echoed by using -s.
+-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s
++ifeq ($(silent-make),yes) # if -s
+ +cmdecho := echo >/dev/null
+ else # not -s
+ +cmdecho := echo
+--- a/Makerules
++++ b/Makerules
+@@ -805,7 +805,7 @@
+ # Maximize efficiency by minimizing the number of rules.
+ .SUFFIXES: # Clear the suffix list. We don't use suffix rules.
+ # Don't define any builtin rules.
+-MAKEFLAGS := $(MAKEFLAGS)r
++MAKEFLAGS := $(MAKEFLAGS) -r
+
+ # Generic rule for making directories.
+ %/:
+@@ -822,7 +822,7 @@
+ .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c))
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
+--- a/elf/rtld-Rules
++++ b/elf/rtld-Rules
+@@ -52,7 +52,7 @@
+ mv -f $@T $@
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
diff --git a/packages/glibc/2.30/0004-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.30/0004-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
new file mode 100644
index 00000000..e34693eb
--- /dev/null
+++ b/packages/glibc/2.30/0004-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
@@ -0,0 +1,105 @@
+From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Tue, 13 Sep 2022 13:39:13 -0400
+Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4
+ [BZ# 29564]
+
+make-4.4 will add long flags to MAKEFLAGS variable:
+
+ * WARNING: Backward-incompatibility!
+ Previously only simple (one-letter) options were added to the MAKEFLAGS
+ variable that was visible while parsing makefiles. Now, all options
+ are available in MAKEFLAGS.
+
+This causes locale builds to fail when long options are used:
+
+ $ make --shuffle
+ ...
+ make -C localedata install-locales
+ make: invalid shuffle mode: '1662724426r'
+
+The change fixes it by passing eash option via whitespace and dashes.
+That way option is appended to both single-word form and whitespace
+separated form.
+
+While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering
+out --long-options. Otherwise options like --shuffle flag enable silent
+mode unintentionally. $(silent-make) variable consolidates the checks.
+
+Resolves: BZ# 29564
+
+CC: Paul Smith <psmith@gnu.org>
+CC: Siddhesh Poyarekar <siddhesh@gotplt.org>
+Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
+Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
+---
+ Makeconfig | 18 +++++++++++++++++-
+ Makerules | 4 ++--
+ elf/rtld-Rules | 2 +-
+ 3 files changed, 20 insertions(+), 4 deletions(-)
+
+--- a/Makeconfig
++++ b/Makeconfig
+@@ -42,6 +42,22 @@
+ objdir must be defined by the build-directory Makefile.
+ endif
+
++# Did we request 'make -s' run? "yes" or "no".
++# Starting from make-4.4 MAKEFLAGS now contains long
++# options like '--shuffle'. To detect presence of 's'
++# we pick first word with short options. Long options
++# are guaranteed to come after whitespace. We use '-'
++# prefix to always have a word before long options
++# even if no short options were passed.
++# Typical MAKEFLAGS values to watch for:
++# "rs --shuffle=42" (silent)
++# " --shuffle" (not silent)
++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),)
++silent-make := no
++else
++silent-make := yes
++endif
++
+ # Root of the sysdeps tree.
+ sysdep_dir := $(..)sysdeps
+ export sysdep_dir := $(sysdep_dir)
+@@ -895,7 +911,7 @@
+ # umpteen zillion filenames along with it (we use `...' instead)
+ # but we don't want this echoing done when the user has said
+ # he doesn't want to see commands echoed by using -s.
+-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s
++ifeq ($(silent-make),yes) # if -s
+ +cmdecho := echo >/dev/null
+ else # not -s
+ +cmdecho := echo
+--- a/Makerules
++++ b/Makerules
+@@ -805,7 +805,7 @@
+ # Maximize efficiency by minimizing the number of rules.
+ .SUFFIXES: # Clear the suffix list. We don't use suffix rules.
+ # Don't define any builtin rules.
+-MAKEFLAGS := $(MAKEFLAGS)r
++MAKEFLAGS := $(MAKEFLAGS) -r
+
+ # Generic rule for making directories.
+ %/:
+@@ -822,7 +822,7 @@
+ .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c))
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
+--- a/elf/rtld-Rules
++++ b/elf/rtld-Rules
+@@ -52,7 +52,7 @@
+ mv -f $@T $@
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
diff --git a/packages/glibc/2.31/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.31/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
new file mode 100644
index 00000000..d08583c5
--- /dev/null
+++ b/packages/glibc/2.31/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
@@ -0,0 +1,105 @@
+From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Tue, 13 Sep 2022 13:39:13 -0400
+Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4
+ [BZ# 29564]
+
+make-4.4 will add long flags to MAKEFLAGS variable:
+
+ * WARNING: Backward-incompatibility!
+ Previously only simple (one-letter) options were added to the MAKEFLAGS
+ variable that was visible while parsing makefiles. Now, all options
+ are available in MAKEFLAGS.
+
+This causes locale builds to fail when long options are used:
+
+ $ make --shuffle
+ ...
+ make -C localedata install-locales
+ make: invalid shuffle mode: '1662724426r'
+
+The change fixes it by passing eash option via whitespace and dashes.
+That way option is appended to both single-word form and whitespace
+separated form.
+
+While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering
+out --long-options. Otherwise options like --shuffle flag enable silent
+mode unintentionally. $(silent-make) variable consolidates the checks.
+
+Resolves: BZ# 29564
+
+CC: Paul Smith <psmith@gnu.org>
+CC: Siddhesh Poyarekar <siddhesh@gotplt.org>
+Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
+Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
+---
+ Makeconfig | 18 +++++++++++++++++-
+ Makerules | 4 ++--
+ elf/rtld-Rules | 2 +-
+ 3 files changed, 20 insertions(+), 4 deletions(-)
+
+--- a/Makeconfig
++++ b/Makeconfig
+@@ -42,6 +42,22 @@
+ objdir must be defined by the build-directory Makefile.
+ endif
+
++# Did we request 'make -s' run? "yes" or "no".
++# Starting from make-4.4 MAKEFLAGS now contains long
++# options like '--shuffle'. To detect presence of 's'
++# we pick first word with short options. Long options
++# are guaranteed to come after whitespace. We use '-'
++# prefix to always have a word before long options
++# even if no short options were passed.
++# Typical MAKEFLAGS values to watch for:
++# "rs --shuffle=42" (silent)
++# " --shuffle" (not silent)
++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),)
++silent-make := no
++else
++silent-make := yes
++endif
++
+ # Root of the sysdeps tree.
+ sysdep_dir := $(..)sysdeps
+ export sysdep_dir := $(sysdep_dir)
+@@ -892,7 +908,7 @@
+ # umpteen zillion filenames along with it (we use `...' instead)
+ # but we don't want this echoing done when the user has said
+ # he doesn't want to see commands echoed by using -s.
+-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s
++ifeq ($(silent-make),yes) # if -s
+ +cmdecho := echo >/dev/null
+ else # not -s
+ +cmdecho := echo
+--- a/Makerules
++++ b/Makerules
+@@ -805,7 +805,7 @@
+ # Maximize efficiency by minimizing the number of rules.
+ .SUFFIXES: # Clear the suffix list. We don't use suffix rules.
+ # Don't define any builtin rules.
+-MAKEFLAGS := $(MAKEFLAGS)r
++MAKEFLAGS := $(MAKEFLAGS) -r
+
+ # Generic rule for making directories.
+ %/:
+@@ -822,7 +822,7 @@
+ .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c))
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
+--- a/elf/rtld-Rules
++++ b/elf/rtld-Rules
+@@ -52,7 +52,7 @@
+ mv -f $@T $@
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
diff --git a/packages/glibc/2.32/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.32/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
new file mode 100644
index 00000000..49dac68c
--- /dev/null
+++ b/packages/glibc/2.32/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
@@ -0,0 +1,105 @@
+From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Tue, 13 Sep 2022 13:39:13 -0400
+Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4
+ [BZ# 29564]
+
+make-4.4 will add long flags to MAKEFLAGS variable:
+
+ * WARNING: Backward-incompatibility!
+ Previously only simple (one-letter) options were added to the MAKEFLAGS
+ variable that was visible while parsing makefiles. Now, all options
+ are available in MAKEFLAGS.
+
+This causes locale builds to fail when long options are used:
+
+ $ make --shuffle
+ ...
+ make -C localedata install-locales
+ make: invalid shuffle mode: '1662724426r'
+
+The change fixes it by passing eash option via whitespace and dashes.
+That way option is appended to both single-word form and whitespace
+separated form.
+
+While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering
+out --long-options. Otherwise options like --shuffle flag enable silent
+mode unintentionally. $(silent-make) variable consolidates the checks.
+
+Resolves: BZ# 29564
+
+CC: Paul Smith <psmith@gnu.org>
+CC: Siddhesh Poyarekar <siddhesh@gotplt.org>
+Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
+Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
+---
+ Makeconfig | 18 +++++++++++++++++-
+ Makerules | 4 ++--
+ elf/rtld-Rules | 2 +-
+ 3 files changed, 20 insertions(+), 4 deletions(-)
+
+--- a/Makeconfig
++++ b/Makeconfig
+@@ -42,6 +42,22 @@
+ $(error objdir must be defined by the build-directory Makefile)
+ endif
+
++# Did we request 'make -s' run? "yes" or "no".
++# Starting from make-4.4 MAKEFLAGS now contains long
++# options like '--shuffle'. To detect presence of 's'
++# we pick first word with short options. Long options
++# are guaranteed to come after whitespace. We use '-'
++# prefix to always have a word before long options
++# even if no short options were passed.
++# Typical MAKEFLAGS values to watch for:
++# "rs --shuffle=42" (silent)
++# " --shuffle" (not silent)
++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),)
++silent-make := no
++else
++silent-make := yes
++endif
++
+ # Root of the sysdeps tree.
+ sysdep_dir := $(..)sysdeps
+ export sysdep_dir := $(sysdep_dir)
+@@ -892,7 +908,7 @@
+ # umpteen zillion filenames along with it (we use `...' instead)
+ # but we don't want this echoing done when the user has said
+ # he doesn't want to see commands echoed by using -s.
+-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s
++ifeq ($(silent-make),yes) # if -s
+ +cmdecho := echo >/dev/null
+ else # not -s
+ +cmdecho := echo
+--- a/Makerules
++++ b/Makerules
+@@ -803,7 +803,7 @@
+ # Maximize efficiency by minimizing the number of rules.
+ .SUFFIXES: # Clear the suffix list. We don't use suffix rules.
+ # Don't define any builtin rules.
+-MAKEFLAGS := $(MAKEFLAGS)r
++MAKEFLAGS := $(MAKEFLAGS) -r
+
+ # Generic rule for making directories.
+ %/:
+@@ -820,7 +820,7 @@
+ .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c))
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
+--- a/elf/rtld-Rules
++++ b/elf/rtld-Rules
+@@ -52,7 +52,7 @@
+ mv -f $@T $@
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
diff --git a/packages/glibc/2.33/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.33/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
new file mode 100644
index 00000000..90b23f5f
--- /dev/null
+++ b/packages/glibc/2.33/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
@@ -0,0 +1,105 @@
+From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Tue, 13 Sep 2022 13:39:13 -0400
+Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4
+ [BZ# 29564]
+
+make-4.4 will add long flags to MAKEFLAGS variable:
+
+ * WARNING: Backward-incompatibility!
+ Previously only simple (one-letter) options were added to the MAKEFLAGS
+ variable that was visible while parsing makefiles. Now, all options
+ are available in MAKEFLAGS.
+
+This causes locale builds to fail when long options are used:
+
+ $ make --shuffle
+ ...
+ make -C localedata install-locales
+ make: invalid shuffle mode: '1662724426r'
+
+The change fixes it by passing eash option via whitespace and dashes.
+That way option is appended to both single-word form and whitespace
+separated form.
+
+While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering
+out --long-options. Otherwise options like --shuffle flag enable silent
+mode unintentionally. $(silent-make) variable consolidates the checks.
+
+Resolves: BZ# 29564
+
+CC: Paul Smith <psmith@gnu.org>
+CC: Siddhesh Poyarekar <siddhesh@gotplt.org>
+Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
+Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
+---
+ Makeconfig | 18 +++++++++++++++++-
+ Makerules | 4 ++--
+ elf/rtld-Rules | 2 +-
+ 3 files changed, 20 insertions(+), 4 deletions(-)
+
+--- a/Makeconfig
++++ b/Makeconfig
+@@ -42,6 +42,22 @@
+ $(error objdir must be defined by the build-directory Makefile)
+ endif
+
++# Did we request 'make -s' run? "yes" or "no".
++# Starting from make-4.4 MAKEFLAGS now contains long
++# options like '--shuffle'. To detect presence of 's'
++# we pick first word with short options. Long options
++# are guaranteed to come after whitespace. We use '-'
++# prefix to always have a word before long options
++# even if no short options were passed.
++# Typical MAKEFLAGS values to watch for:
++# "rs --shuffle=42" (silent)
++# " --shuffle" (not silent)
++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),)
++silent-make := no
++else
++silent-make := yes
++endif
++
+ # Root of the sysdeps tree.
+ sysdep_dir := $(..)sysdeps
+ export sysdep_dir := $(sysdep_dir)
+@@ -895,7 +911,7 @@
+ # umpteen zillion filenames along with it (we use `...' instead)
+ # but we don't want this echoing done when the user has said
+ # he doesn't want to see commands echoed by using -s.
+-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s
++ifeq ($(silent-make),yes) # if -s
+ +cmdecho := echo >/dev/null
+ else # not -s
+ +cmdecho := echo
+--- a/Makerules
++++ b/Makerules
+@@ -803,7 +803,7 @@
+ # Maximize efficiency by minimizing the number of rules.
+ .SUFFIXES: # Clear the suffix list. We don't use suffix rules.
+ # Don't define any builtin rules.
+-MAKEFLAGS := $(MAKEFLAGS)r
++MAKEFLAGS := $(MAKEFLAGS) -r
+
+ # Generic rule for making directories.
+ %/:
+@@ -820,7 +820,7 @@
+ .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c))
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
+--- a/elf/rtld-Rules
++++ b/elf/rtld-Rules
+@@ -52,7 +52,7 @@
+ mv -f $@T $@
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
diff --git a/packages/glibc/2.34/0002-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.34/0002-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
new file mode 100644
index 00000000..f1e7edf4
--- /dev/null
+++ b/packages/glibc/2.34/0002-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
@@ -0,0 +1,105 @@
+From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Tue, 13 Sep 2022 13:39:13 -0400
+Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4
+ [BZ# 29564]
+
+make-4.4 will add long flags to MAKEFLAGS variable:
+
+ * WARNING: Backward-incompatibility!
+ Previously only simple (one-letter) options were added to the MAKEFLAGS
+ variable that was visible while parsing makefiles. Now, all options
+ are available in MAKEFLAGS.
+
+This causes locale builds to fail when long options are used:
+
+ $ make --shuffle
+ ...
+ make -C localedata install-locales
+ make: invalid shuffle mode: '1662724426r'
+
+The change fixes it by passing eash option via whitespace and dashes.
+That way option is appended to both single-word form and whitespace
+separated form.
+
+While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering
+out --long-options. Otherwise options like --shuffle flag enable silent
+mode unintentionally. $(silent-make) variable consolidates the checks.
+
+Resolves: BZ# 29564
+
+CC: Paul Smith <psmith@gnu.org>
+CC: Siddhesh Poyarekar <siddhesh@gotplt.org>
+Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
+Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
+---
+ Makeconfig | 18 +++++++++++++++++-
+ Makerules | 4 ++--
+ elf/rtld-Rules | 2 +-
+ 3 files changed, 20 insertions(+), 4 deletions(-)
+
+--- a/Makeconfig
++++ b/Makeconfig
+@@ -42,6 +42,22 @@
+ $(error objdir must be defined by the build-directory Makefile)
+ endif
+
++# Did we request 'make -s' run? "yes" or "no".
++# Starting from make-4.4 MAKEFLAGS now contains long
++# options like '--shuffle'. To detect presence of 's'
++# we pick first word with short options. Long options
++# are guaranteed to come after whitespace. We use '-'
++# prefix to always have a word before long options
++# even if no short options were passed.
++# Typical MAKEFLAGS values to watch for:
++# "rs --shuffle=42" (silent)
++# " --shuffle" (not silent)
++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),)
++silent-make := no
++else
++silent-make := yes
++endif
++
+ # Root of the sysdeps tree.
+ sysdep_dir := $(..)sysdeps
+ export sysdep_dir := $(sysdep_dir)
+@@ -903,7 +919,7 @@
+ # umpteen zillion filenames along with it (we use `...' instead)
+ # but we don't want this echoing done when the user has said
+ # he doesn't want to see commands echoed by using -s.
+-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s
++ifeq ($(silent-make),yes) # if -s
+ +cmdecho := echo >/dev/null
+ else # not -s
+ +cmdecho := echo
+--- a/Makerules
++++ b/Makerules
+@@ -804,7 +804,7 @@
+ # Maximize efficiency by minimizing the number of rules.
+ .SUFFIXES: # Clear the suffix list. We don't use suffix rules.
+ # Don't define any builtin rules.
+-MAKEFLAGS := $(MAKEFLAGS)r
++MAKEFLAGS := $(MAKEFLAGS) -r
+
+ # Generic rule for making directories.
+ %/:
+@@ -821,7 +821,7 @@
+ .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c))
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
+--- a/elf/rtld-Rules
++++ b/elf/rtld-Rules
+@@ -52,7 +52,7 @@
+ mv -f $@T $@
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
diff --git a/packages/glibc/2.35/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.35/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
new file mode 100644
index 00000000..ad482403
--- /dev/null
+++ b/packages/glibc/2.35/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
@@ -0,0 +1,105 @@
+From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Tue, 13 Sep 2022 13:39:13 -0400
+Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4
+ [BZ# 29564]
+
+make-4.4 will add long flags to MAKEFLAGS variable:
+
+ * WARNING: Backward-incompatibility!
+ Previously only simple (one-letter) options were added to the MAKEFLAGS
+ variable that was visible while parsing makefiles. Now, all options
+ are available in MAKEFLAGS.
+
+This causes locale builds to fail when long options are used:
+
+ $ make --shuffle
+ ...
+ make -C localedata install-locales
+ make: invalid shuffle mode: '1662724426r'
+
+The change fixes it by passing eash option via whitespace and dashes.
+That way option is appended to both single-word form and whitespace
+separated form.
+
+While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering
+out --long-options. Otherwise options like --shuffle flag enable silent
+mode unintentionally. $(silent-make) variable consolidates the checks.
+
+Resolves: BZ# 29564
+
+CC: Paul Smith <psmith@gnu.org>
+CC: Siddhesh Poyarekar <siddhesh@gotplt.org>
+Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
+Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
+---
+ Makeconfig | 18 +++++++++++++++++-
+ Makerules | 4 ++--
+ elf/rtld-Rules | 2 +-
+ 3 files changed, 20 insertions(+), 4 deletions(-)
+
+--- a/Makeconfig
++++ b/Makeconfig
+@@ -43,6 +43,22 @@
+ $(error objdir must be defined by the build-directory Makefile)
+ endif
+
++# Did we request 'make -s' run? "yes" or "no".
++# Starting from make-4.4 MAKEFLAGS now contains long
++# options like '--shuffle'. To detect presence of 's'
++# we pick first word with short options. Long options
++# are guaranteed to come after whitespace. We use '-'
++# prefix to always have a word before long options
++# even if no short options were passed.
++# Typical MAKEFLAGS values to watch for:
++# "rs --shuffle=42" (silent)
++# " --shuffle" (not silent)
++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),)
++silent-make := no
++else
++silent-make := yes
++endif
++
+ # Root of the sysdeps tree.
+ sysdep_dir := $(..)sysdeps
+ export sysdep_dir := $(sysdep_dir)
+@@ -920,7 +936,7 @@
+ # umpteen zillion filenames along with it (we use `...' instead)
+ # but we don't want this echoing done when the user has said
+ # he doesn't want to see commands echoed by using -s.
+-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s
++ifeq ($(silent-make),yes) # if -s
+ +cmdecho := echo >/dev/null
+ else # not -s
+ +cmdecho := echo
+--- a/Makerules
++++ b/Makerules
+@@ -802,7 +802,7 @@
+ # Maximize efficiency by minimizing the number of rules.
+ .SUFFIXES: # Clear the suffix list. We don't use suffix rules.
+ # Don't define any builtin rules.
+-MAKEFLAGS := $(MAKEFLAGS)r
++MAKEFLAGS := $(MAKEFLAGS) -r
+
+ # Generic rule for making directories.
+ %/:
+@@ -819,7 +819,7 @@
+ .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c))
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
+--- a/elf/rtld-Rules
++++ b/elf/rtld-Rules
+@@ -52,7 +52,7 @@
+ mv -f $@T $@
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
diff --git a/packages/glibc/2.36/0002-Mimic-kernel-defition-for-BLOCK_SIZE.patch b/packages/glibc/2.36/0002-Mimic-kernel-defition-for-BLOCK_SIZE.patch
new file mode 100644
index 00000000..bcebfe21
--- /dev/null
+++ b/packages/glibc/2.36/0002-Mimic-kernel-defition-for-BLOCK_SIZE.patch
@@ -0,0 +1,30 @@
+From 4dad97e2a2e510c6b53a0add29a2188714fcf4ab Mon Sep 17 00:00:00 2001
+From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
+Date: Wed, 10 Aug 2022 14:24:45 -0300
+Subject: [PATCH] linux: Mimic kernel defition for BLOCK_SIZE
+
+To avoid possible warnings if the kernel header is included before
+sys/mount.h.
+
+Reviewed-by: Florian Weimer <fweimer@redhat.com>
+(cherry picked from commit c68b6044bc7945716431f1adc091b17c39b80a06)
+---
+ sysdeps/unix/sysv/linux/sys/mount.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sysdeps/unix/sysv/linux/sys/mount.h b/sysdeps/unix/sysv/linux/sys/mount.h
+index f965986ba8..df6b0dbb42 100644
+--- a/sysdeps/unix/sysv/linux/sys/mount.h
++++ b/sysdeps/unix/sysv/linux/sys/mount.h
+@@ -27,8 +27,8 @@
+ #include <stddef.h>
+ #include <sys/ioctl.h>
+
+-#define BLOCK_SIZE 1024
+ #define BLOCK_SIZE_BITS 10
++#define BLOCK_SIZE (1<<BLOCK_SIZE_BITS)
+
+
+ /* These are the fs-independent mount-flags: up to 16 flags are
+--
+2.31.1
diff --git a/packages/glibc/2.36/0003-Use-compile_c_snippet-to-check-linux_mount.h.patch b/packages/glibc/2.36/0003-Use-compile_c_snippet-to-check-linux_mount.h.patch
new file mode 100644
index 00000000..498d176e
--- /dev/null
+++ b/packages/glibc/2.36/0003-Use-compile_c_snippet-to-check-linux_mount.h.patch
@@ -0,0 +1,32 @@
+From d48813227b63a0d92ea357ea0733229ed74e31ab Mon Sep 17 00:00:00 2001
+From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
+Date: Wed, 10 Aug 2022 14:24:46 -0300
+Subject: [PATCH] linux: Use compile_c_snippet to check linux/mount.h
+ availability
+
+Checked on x86_64-linux-gnu.
+
+Reviewed-by: Florian Weimer <fweimer@redhat.com>
+(cherry picked from commit e1226cdc6b209539a92d32d5b620ba53fd35abf3)
+---
+ sysdeps/unix/sysv/linux/tst-mount-consts.py | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/sysdeps/unix/sysv/linux/tst-mount-consts.py b/sysdeps/unix/sysv/linux/tst-mount-consts.py
+index a62f803123..be2ef2daf1 100755
+--- a/sysdeps/unix/sysv/linux/tst-mount-consts.py
++++ b/sysdeps/unix/sysv/linux/tst-mount-consts.py
+@@ -33,6 +33,11 @@ def main():
+ help='C compiler (including options) to use')
+ args = parser.parse_args()
+
++ if glibcextract.compile_c_snippet(
++ '#include <linux/mount.h>',
++ args.cc).returncode != 0:
++ sys.exit (77)
++
+ linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc)
+ # Constants in glibc were updated to match Linux v5.16. When glibc
+ # constants are updated this value should be updated to match the
+--
+2.31.1
diff --git a/packages/glibc/2.36/0004-Fix_sys_mount.h_usage_with_kernel_headers.patch b/packages/glibc/2.36/0004-Fix_sys_mount.h_usage_with_kernel_headers.patch
new file mode 100644
index 00000000..a9cdc5b1
--- /dev/null
+++ b/packages/glibc/2.36/0004-Fix_sys_mount.h_usage_with_kernel_headers.patch
@@ -0,0 +1,336 @@
+From bb1e8b0ca99b5cbedfae3e6245528a87d95ff3e2 Mon Sep 17 00:00:00 2001
+From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
+Date: Wed, 10 Aug 2022 14:24:47 -0300
+Subject: [PATCH] linux: Fix sys/mount.h usage with kernel headers
+
+Now that kernel exports linux/mount.h and includes it on linux/fs.h,
+its definitions might clash with glibc exports sys/mount.h. To avoid
+the need to rearrange the Linux header to be always after glibc one,
+the glibc sys/mount.h is changed to:
+
+ 1. Undefine the macros also used as enum constants. This covers prior
+ inclusion of <linux/mount.h> (for instance MS_RDONLY).
+
+ 2. Include <linux/mount.h> based on the usual __has_include check
+ (needs to use __has_include ("linux/mount.h") to paper over GCC
+ bugs.
+
+ 3. Define enum fsconfig_command only if FSOPEN_CLOEXEC is not defined.
+ (FSOPEN_CLOEXEC should be a very close proxy.)
+
+ 4. Define struct mount_attr if MOUNT_ATTR_SIZE_VER0 is not defined.
+ (Added in the same commit on the Linux side.)
+
+This patch also adds some tests to check if including linux/fs.h and
+linux/mount.h after and before sys/mount.h does work.
+
+Checked on x86_64-linux-gnu.
+
+Reviewed-by: Florian Weimer <fweimer@redhat.com>
+(cherry picked from commit 774058d72942249f71d74e7f2b639f77184160a6)
+---
+ sysdeps/unix/sysv/linux/Makefile | 8 +++
+ sysdeps/unix/sysv/linux/sys/mount.h | 71 +++++++++++++++++---
+ sysdeps/unix/sysv/linux/tst-mount-compile.py | 66 ++++++++++++++++++
+ 3 files changed, 137 insertions(+), 8 deletions(-)
+ create mode 100755 sysdeps/unix/sysv/linux/tst-mount-compile.py
+
+diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
+index a139a16532..3ceda9fdbf 100644
+--- a/sysdeps/unix/sysv/linux/Makefile
++++ b/sysdeps/unix/sysv/linux/Makefile
+@@ -265,6 +265,14 @@ $(objpfx)tst-mount-consts.out: ../sysdeps/unix/sysv/linux/tst-mount-consts.py
+ < /dev/null > $@ 2>&1; $(evaluate-test)
+ $(objpfx)tst-mount-consts.out: $(sysdeps-linux-python-deps)
+
++tests-special += $(objpfx)tst-mount-compile.out
++$(objpfx)tst-mount-compile.out: ../sysdeps/unix/sysv/linux/tst-mount-compile.py
++ $(sysdeps-linux-python) \
++ ../sysdeps/unix/sysv/linux/tst-mount-compile.py \
++ $(sysdeps-linux-python-cc) \
++ < /dev/null > $@ 2>&1; $(evaluate-test)
++$(objpfx)tst-mount-compile.out: $(sysdeps-linux-python-deps)
++
+ tst-rseq-disable-ENV = GLIBC_TUNABLES=glibc.pthread.rseq=0
+
+ endif # $(subdir) == misc
+diff --git a/sysdeps/unix/sysv/linux/sys/mount.h b/sysdeps/unix/sysv/linux/sys/mount.h
+index df6b0dbb42..2e3fd6a7fe 100644
+--- a/sysdeps/unix/sysv/linux/sys/mount.h
++++ b/sysdeps/unix/sysv/linux/sys/mount.h
+@@ -27,6 +27,13 @@
+ #include <stddef.h>
+ #include <sys/ioctl.h>
+
++#ifdef __has_include
++# if __has_include ("linux/mount.h")
++# include "linux/mount.h"
++# endif
++#endif
++
++
+ #define BLOCK_SIZE_BITS 10
+ #define BLOCK_SIZE (1<<BLOCK_SIZE_BITS)
+
+@@ -35,69 +42,98 @@
+ supported */
+ enum
+ {
++#undef MS_RDONLY
+ MS_RDONLY = 1, /* Mount read-only. */
+ #define MS_RDONLY MS_RDONLY
++#undef MS_NOSUID
+ MS_NOSUID = 2, /* Ignore suid and sgid bits. */
+ #define MS_NOSUID MS_NOSUID
++#undef MS_NODEV
+ MS_NODEV = 4, /* Disallow access to device special files. */
+ #define MS_NODEV MS_NODEV
++#undef MS_NOEXEC
+ MS_NOEXEC = 8, /* Disallow program execution. */
+ #define MS_NOEXEC MS_NOEXEC
++#undef MS_SYNCHRONOUS
+ MS_SYNCHRONOUS = 16, /* Writes are synced at once. */
+ #define MS_SYNCHRONOUS MS_SYNCHRONOUS
++#undef MS_REMOUNT
+ MS_REMOUNT = 32, /* Alter flags of a mounted FS. */
+ #define MS_REMOUNT MS_REMOUNT
++#undef MS_MANDLOCK
+ MS_MANDLOCK = 64, /* Allow mandatory locks on an FS. */
+ #define MS_MANDLOCK MS_MANDLOCK
++#undef MS_DIRSYNC
+ MS_DIRSYNC = 128, /* Directory modifications are synchronous. */
+ #define MS_DIRSYNC MS_DIRSYNC
++#undef MS_NOSYMFOLLOW
+ MS_NOSYMFOLLOW = 256, /* Do not follow symlinks. */
+ #define MS_NOSYMFOLLOW MS_NOSYMFOLLOW
++#undef MS_NOATIME
+ MS_NOATIME = 1024, /* Do not update access times. */
+ #define MS_NOATIME MS_NOATIME
++#undef MS_NODIRATIME
+ MS_NODIRATIME = 2048, /* Do not update directory access times. */
+ #define MS_NODIRATIME MS_NODIRATIME
++#undef MS_BIND
+ MS_BIND = 4096, /* Bind directory at different place. */
+ #define MS_BIND MS_BIND
++#undef MS_MOVE
+ MS_MOVE = 8192,
+ #define MS_MOVE MS_MOVE
++#undef MS_REC
+ MS_REC = 16384,
+ #define MS_REC MS_REC
++#undef MS_SILENT
+ MS_SILENT = 32768,
+ #define MS_SILENT MS_SILENT
++#undef MS_POSIXACL
+ MS_POSIXACL = 1 << 16, /* VFS does not apply the umask. */
+ #define MS_POSIXACL MS_POSIXACL
++#undef MS_UNBINDABLE
+ MS_UNBINDABLE = 1 << 17, /* Change to unbindable. */
+ #define MS_UNBINDABLE MS_UNBINDABLE
++#undef MS_PRIVATE
+ MS_PRIVATE = 1 << 18, /* Change to private. */
+ #define MS_PRIVATE MS_PRIVATE
++#undef MS_SLAVE
+ MS_SLAVE = 1 << 19, /* Change to slave. */
+ #define MS_SLAVE MS_SLAVE
++#undef MS_SHARED
+ MS_SHARED = 1 << 20, /* Change to shared. */
+ #define MS_SHARED MS_SHARED
++#undef MS_RELATIME
+ MS_RELATIME = 1 << 21, /* Update atime relative to mtime/ctime. */
+ #define MS_RELATIME MS_RELATIME
++#undef MS_KERNMOUNT
+ MS_KERNMOUNT = 1 << 22, /* This is a kern_mount call. */
+ #define MS_KERNMOUNT MS_KERNMOUNT
++#undef MS_I_VERSION
+ MS_I_VERSION = 1 << 23, /* Update inode I_version field. */
+ #define MS_I_VERSION MS_I_VERSION
++#undef MS_STRICTATIME
+ MS_STRICTATIME = 1 << 24, /* Always perform atime updates. */
+ #define MS_STRICTATIME MS_STRICTATIME
++#undef MS_LAZYTIME
+ MS_LAZYTIME = 1 << 25, /* Update the on-disk [acm]times lazily. */
+ #define MS_LAZYTIME MS_LAZYTIME
++#undef MS_ACTIVE
+ MS_ACTIVE = 1 << 30,
+ #define MS_ACTIVE MS_ACTIVE
++#undef MS_NOUSER
+ MS_NOUSER = 1 << 31
+ #define MS_NOUSER MS_NOUSER
+ };
+
+ /* Flags that can be altered by MS_REMOUNT */
++#undef MS_RMT_MASK
+ #define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION \
+ |MS_LAZYTIME)
+
+
+ /* Magic mount flag number. Has to be or-ed to the flag values. */
+
++#undef MS_MGC_VAL
+ #define MS_MGC_VAL 0xc0ed0000 /* Magic flag number to indicate "new" flags */
+ #define MS_MGC_MSK 0xffff0000 /* Magic flag number mask */
+
+@@ -106,20 +142,35 @@ enum
+ is probably as bad and I don't want to create yet another include
+ file. */
+
++#undef BLKROSET
+ #define BLKROSET _IO(0x12, 93) /* Set device read-only (0 = read-write). */
++#undef BLKROGET
+ #define BLKROGET _IO(0x12, 94) /* Get read-only status (0 = read_write). */
++#undef BLKRRPART
+ #define BLKRRPART _IO(0x12, 95) /* Re-read partition table. */
++#undef BLKGETSIZE
+ #define BLKGETSIZE _IO(0x12, 96) /* Return device size. */
++#undef BLKFLSBUF
+ #define BLKFLSBUF _IO(0x12, 97) /* Flush buffer cache. */
++#undef BLKRASET
+ #define BLKRASET _IO(0x12, 98) /* Set read ahead for block device. */
++#undef BLKRAGET
+ #define BLKRAGET _IO(0x12, 99) /* Get current read ahead setting. */
++#undef BLKFRASET
+ #define BLKFRASET _IO(0x12,100) /* Set filesystem read-ahead. */
++#undef BLKFRAGET
+ #define BLKFRAGET _IO(0x12,101) /* Get filesystem read-ahead. */
++#undef BLKSECTSET
+ #define BLKSECTSET _IO(0x12,102) /* Set max sectors per request. */
++#undef BLKSECTGET
+ #define BLKSECTGET _IO(0x12,103) /* Get max sectors per request. */
++#undef BLKSSZGET
+ #define BLKSSZGET _IO(0x12,104) /* Get block device sector size. */
++#undef BLKBSZGET
+ #define BLKBSZGET _IOR(0x12,112,size_t)
++#undef BLKBSZSET
+ #define BLKBSZSET _IOW(0x12,113,size_t)
++#undef BLKGETSIZE64
+ #define BLKGETSIZE64 _IOR(0x12,114,size_t) /* return device size. */
+
+
+@@ -157,6 +208,7 @@ enum
+ #define MOUNT_ATTR_NOSYMFOLLOW 0x00200000 /* Do not follow symlinks. */
+
+
++#ifndef MOUNT_ATTR_SIZE_VER0
+ /* For mount_setattr. */
+ struct mount_attr
+ {
+@@ -165,6 +217,7 @@ struct mount_attr
+ uint64_t propagation;
+ uint64_t userns_fd;
+ };
++#endif
+
+ #define MOUNT_ATTR_SIZE_VER0 32 /* sizeof first published struct */
+
+@@ -185,26 +238,28 @@ struct mount_attr
+ #define FSPICK_EMPTY_PATH 0x00000008
+
+
++#ifndef FSOPEN_CLOEXEC
+ /* The type of fsconfig call made. */
+ enum fsconfig_command
+ {
+ FSCONFIG_SET_FLAG = 0, /* Set parameter, supplying no value */
+-#define FSCONFIG_SET_FLAG FSCONFIG_SET_FLAG
++# define FSCONFIG_SET_FLAG FSCONFIG_SET_FLAG
+ FSCONFIG_SET_STRING = 1, /* Set parameter, supplying a string value */
+-#define FSCONFIG_SET_STRING FSCONFIG_SET_STRING
++# define FSCONFIG_SET_STRING FSCONFIG_SET_STRING
+ FSCONFIG_SET_BINARY = 2, /* Set parameter, supplying a binary blob value */
+-#define FSCONFIG_SET_BINARY FSCONFIG_SET_BINARY
++# define FSCONFIG_SET_BINARY FSCONFIG_SET_BINARY
+ FSCONFIG_SET_PATH = 3, /* Set parameter, supplying an object by path */
+-#define FSCONFIG_SET_PATH FSCONFIG_SET_PATH
++# define FSCONFIG_SET_PATH FSCONFIG_SET_PATH
+ FSCONFIG_SET_PATH_EMPTY = 4, /* Set parameter, supplying an object by (empty) path */
+-#define FSCONFIG_SET_PATH_EMPTY FSCONFIG_SET_PATH_EMPTY
++# define FSCONFIG_SET_PATH_EMPTY FSCONFIG_SET_PATH_EMPTY
+ FSCONFIG_SET_FD = 5, /* Set parameter, supplying an object by fd */
+-#define FSCONFIG_SET_FD FSCONFIG_SET_FD
++# define FSCONFIG_SET_FD FSCONFIG_SET_FD
+ FSCONFIG_CMD_CREATE = 6, /* Invoke superblock creation */
+-#define FSCONFIG_CMD_CREATE FSCONFIG_CMD_CREATE
++# define FSCONFIG_CMD_CREATE FSCONFIG_CMD_CREATE
+ FSCONFIG_CMD_RECONFIGURE = 7, /* Invoke superblock reconfiguration */
+-#define FSCONFIG_CMD_RECONFIGURE FSCONFIG_CMD_RECONFIGURE
++# define FSCONFIG_CMD_RECONFIGURE FSCONFIG_CMD_RECONFIGURE
+ };
++#endif
+
+ /* open_tree flags. */
+ #define OPEN_TREE_CLONE 1 /* Clone the target tree and attach the clone */
+diff --git a/sysdeps/unix/sysv/linux/tst-mount-compile.py b/sysdeps/unix/sysv/linux/tst-mount-compile.py
+new file mode 100755
+index 0000000000..0ec74d4e0b
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/tst-mount-compile.py
+@@ -0,0 +1,66 @@
++#!/usr/bin/python3
++# Check if glibc provided sys/mount.h can be used along related kernel
++# headers.
++# Copyright (C) 2022 Free Software Foundation, Inc.
++# This file is part of the GNU C Library.
++#
++# The GNU C Library is free software; you can redistribute it and/or
++# modify it under the terms of the GNU Lesser General Public
++# License as published by the Free Software Foundation; either
++# version 2.1 of the License, or (at your option) any later version.
++#
++# The GNU C Library is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# Lesser General Public License for more details.
++#
++# You should have received a copy of the GNU Lesser General Public
++# License along with the GNU C Library; if not, see
++# <https://www.gnu.org/licenses/>.
++
++import argparse
++import sys
++
++import glibcextract
++
++
++def main():
++ """The main entry point."""
++ parser = argparse.ArgumentParser(
++ description='Check if glibc provided sys/mount.h can be '
++ ' used along related kernel headers.')
++ parser.add_argument('--cc', metavar='CC',
++ help='C compiler (including options) to use')
++ args = parser.parse_args()
++
++ if glibcextract.compile_c_snippet(
++ '#include <linux/mount.h>',
++ args.cc).returncode != 0:
++ sys.exit (77)
++
++ def check(testname, snippet):
++ # Add -Werror to catch macro redefinitions and _ISOMAC to avoid
++ # internal glibc definitions.
++ r = glibcextract.compile_c_snippet(snippet, args.cc,
++ '-Werror -D_ISOMAC')
++ if r.returncode != 0:
++ print('error: test {}:\n{}'.format(testname, r.output.decode()))
++ return r.returncode
++
++ status = max(
++ check("sys/mount.h + linux/mount.h",
++ "#include <sys/mount.h>\n"
++ "#include <linux/mount.h>"),
++ check("sys/mount.h + linux/fs.h",
++ "#include <sys/mount.h>\n"
++ "#include <linux/fs.h>"),
++ check("linux/mount.h + sys/mount.h",
++ "#include <linux/mount.h>\n"
++ "#include <sys/mount.h>"),
++ check("linux/fs.h + sys/mount.h",
++ "#include <linux/fs.h>\n"
++ "#include <sys/mount.h>"))
++ sys.exit(status)
++
++if __name__ == '__main__':
++ main()
+--
+2.31.1
diff --git a/packages/glibc/2.36/0005-Fix-enum-fsconfig_command-detection-in-sys_mount.h.patch b/packages/glibc/2.36/0005-Fix-enum-fsconfig_command-detection-in-sys_mount.h.patch
new file mode 100644
index 00000000..da249f36
--- /dev/null
+++ b/packages/glibc/2.36/0005-Fix-enum-fsconfig_command-detection-in-sys_mount.h.patch
@@ -0,0 +1,43 @@
+From 3bd3c612e98a53ce60ed972f5cd2b90628b3cba5 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Tue, 16 Aug 2022 09:25:23 +0200
+Subject: [PATCH] Linux: Fix enum fsconfig_command detection in <sys/mount.h>
+
+The #ifdef FSOPEN_CLOEXEC check did not work because the macro
+was always defined in this header prior to the check, so that
+the <linux/mount.h> contents did not matter.
+
+Fixes commit 774058d72942249f71d74e7f2b639f77184160a6
+("linux: Fix sys/mount.h usage with kernel headers").
+
+(cherry picked from commit 2955ef4b7c9b56fcd7abfeddef7ee83c60abff98)
+---
+ sysdeps/unix/sysv/linux/sys/mount.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/sysdeps/unix/sysv/linux/sys/mount.h b/sysdeps/unix/sysv/linux/sys/mount.h
+index 2e3fd6a7fe..19841d0738 100644
+--- a/sysdeps/unix/sysv/linux/sys/mount.h
++++ b/sysdeps/unix/sysv/linux/sys/mount.h
+@@ -188,9 +188,6 @@ enum
+ };
+
+
+-/* fsopen flags. */
+-#define FSOPEN_CLOEXEC 0x00000001
+-
+ /* fsmount flags. */
+ #define FSMOUNT_CLOEXEC 0x00000001
+
+@@ -261,6 +258,9 @@ enum fsconfig_command
+ };
+ #endif
+
++/* fsopen flags. */
++#define FSOPEN_CLOEXEC 0x00000001
++
+ /* open_tree flags. */
+ #define OPEN_TREE_CLONE 1 /* Clone the target tree and attach the clone */
+ #define OPEN_TREE_CLOEXEC O_CLOEXEC /* Close the file on execve() */
+--
+2.31.1
diff --git a/packages/glibc/2.36/0006-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.36/0006-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
new file mode 100644
index 00000000..c4475990
--- /dev/null
+++ b/packages/glibc/2.36/0006-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch
@@ -0,0 +1,114 @@
+From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Tue, 13 Sep 2022 13:39:13 -0400
+Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4
+ [BZ# 29564]
+
+make-4.4 will add long flags to MAKEFLAGS variable:
+
+ * WARNING: Backward-incompatibility!
+ Previously only simple (one-letter) options were added to the MAKEFLAGS
+ variable that was visible while parsing makefiles. Now, all options
+ are available in MAKEFLAGS.
+
+This causes locale builds to fail when long options are used:
+
+ $ make --shuffle
+ ...
+ make -C localedata install-locales
+ make: invalid shuffle mode: '1662724426r'
+
+The change fixes it by passing eash option via whitespace and dashes.
+That way option is appended to both single-word form and whitespace
+separated form.
+
+While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering
+out --long-options. Otherwise options like --shuffle flag enable silent
+mode unintentionally. $(silent-make) variable consolidates the checks.
+
+Resolves: BZ# 29564
+
+CC: Paul Smith <psmith@gnu.org>
+CC: Siddhesh Poyarekar <siddhesh@gotplt.org>
+Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
+Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
+---
+ Makeconfig | 18 +++++++++++++++++-
+ Makerules | 4 ++--
+ elf/rtld-Rules | 2 +-
+ 3 files changed, 20 insertions(+), 4 deletions(-)
+
+diff --git a/Makeconfig b/Makeconfig
+index f8164a0025..842f49eb58 100644
+--- a/Makeconfig
++++ b/Makeconfig
+@@ -43,6 +43,22 @@ else
+ $(error objdir must be defined by the build-directory Makefile)
+ endif
+
++# Did we request 'make -s' run? "yes" or "no".
++# Starting from make-4.4 MAKEFLAGS now contains long
++# options like '--shuffle'. To detect presence of 's'
++# we pick first word with short options. Long options
++# are guaranteed to come after whitespace. We use '-'
++# prefix to always have a word before long options
++# even if no short options were passed.
++# Typical MAKEFLAGS values to watch for:
++# "rs --shuffle=42" (silent)
++# " --shuffle" (not silent)
++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),)
++silent-make := no
++else
++silent-make := yes
++endif
++
+ # Root of the sysdeps tree.
+ sysdep_dir := $(..)sysdeps
+ export sysdep_dir := $(sysdep_dir)
+@@ -917,7 +933,7 @@ endif
+ # umpteen zillion filenames along with it (we use `...' instead)
+ # but we don't want this echoing done when the user has said
+ # he doesn't want to see commands echoed by using -s.
+-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s
++ifeq ($(silent-make),yes) # if -s
+ +cmdecho := echo >/dev/null
+ else # not -s
+ +cmdecho := echo
+diff --git a/Makerules b/Makerules
+index d1e139d03c..09c0cf8357 100644
+--- a/Makerules
++++ b/Makerules
+@@ -794,7 +794,7 @@ endif
+ # Maximize efficiency by minimizing the number of rules.
+ .SUFFIXES: # Clear the suffix list. We don't use suffix rules.
+ # Don't define any builtin rules.
+-MAKEFLAGS := $(MAKEFLAGS)r
++MAKEFLAGS := $(MAKEFLAGS) -r
+
+ # Generic rule for making directories.
+ %/:
+@@ -811,7 +811,7 @@ MAKEFLAGS := $(MAKEFLAGS)r
+ .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c))
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
+diff --git a/elf/rtld-Rules b/elf/rtld-Rules
+index ca00dd1fe2..3c5e273f2b 100644
+--- a/elf/rtld-Rules
++++ b/elf/rtld-Rules
+@@ -52,7 +52,7 @@ $(objpfx)rtld-libc.a: $(foreach dir,$(rtld-subdirs),\
+ mv -f $@T $@
+
+ # Use the verbose option of ar and tar when not running silently.
+-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s
++ifeq ($(silent-make),no) # if not -s
+ verbose := v
+ else # -s
+ verbose :=
+--
+2.38.1
+
diff --git a/packages/linux/4.14.290/chksum b/packages/linux/4.14.290/chksum
deleted file mode 100644
index d0715a4e..00000000
--- a/packages/linux/4.14.290/chksum
+++ /dev/null
@@ -1,8 +0,0 @@
-md5 linux-4.14.290.tar.xz 605a1df0b0a71514e51887f7ad104633
-sha1 linux-4.14.290.tar.xz 0192d31395ea1fd229cf61cae4ac8010818afe10
-sha256 linux-4.14.290.tar.xz 448aa93a8e41a48ae34543920684a42c259fad78bb7ebb0ba242b9a3525add7f
-sha512 linux-4.14.290.tar.xz 2c90337507b45d29235a7b9f971c01248118c968f1ec66cfddab45766d01ac715b29c8ca8410c1b44d16df2c0e7d8e046a58abc969b6b3180fad6a8e36565554
-md5 linux-4.14.290.tar.gz 281c4f169b6082026f6960b4dceb6a53
-sha1 linux-4.14.290.tar.gz b5fcc34ce796a8825e2d09d533bb985418bdf286
-sha256 linux-4.14.290.tar.gz 106d97d67d3d08eccfbf4425f43593a3ab33861a3c7b6e20730e3e5ff3f2fc9a
-sha512 linux-4.14.290.tar.gz 9632fb07bf1b8b44e4f2c11d3a70f6aef6d7814a1dfcfbcc632c81b9cde63b26d50eb7630f74b274a6e2a0f69af00804d0075dea16bd826a115d9b1da9fc93cc
diff --git a/packages/linux/4.14.301/chksum b/packages/linux/4.14.301/chksum
new file mode 100644
index 00000000..27679c31
--- /dev/null
+++ b/packages/linux/4.14.301/chksum
@@ -0,0 +1,8 @@
+md5 linux-4.14.301.tar.xz 2faa259fdd1af8460e2533a156832ecf
+sha1 linux-4.14.301.tar.xz 38a4ae8b90cc720c561bcb5406db9ea6c0ab8928
+sha256 linux-4.14.301.tar.xz acd2ee8e03da098fe9f7e52871dd0790850fc32b78657606bdf65bdd94bbf99b
+sha512 linux-4.14.301.tar.xz 70b4ecd95e840bda1d1159802da9e9313b501be4d5472bd3865b141c260aa9d192b5732df8e838d213ff2b0f01f58351c82aa88a9d58a1120d22176c03ed7712
+md5 linux-4.14.301.tar.gz da5adab36d5644bea80c6718a033b533
+sha1 linux-4.14.301.tar.gz 66bad05536c00be04795721cb470fe0f0c0a2120
+sha256 linux-4.14.301.tar.gz 310f2caa138714a3bb40068bbed79e0b328f674d562b01289813844c63bb008c
+sha512 linux-4.14.301.tar.gz db85885413cba1003a66bed152ab3f63ffb9e1faf49cf418c0c368d80d33cad048505f8997a89601bd789872b1fdc8433e778c0eb3e11bfc70b7842cde32abd3
diff --git a/packages/linux/4.19.254/version.desc b/packages/linux/4.14.301/version.desc
index e69de29b..e69de29b 100644
--- a/packages/linux/4.19.254/version.desc
+++ b/packages/linux/4.14.301/version.desc
diff --git a/packages/linux/4.19.254/chksum b/packages/linux/4.19.254/chksum
deleted file mode 100644
index e992fdb8..00000000
--- a/packages/linux/4.19.254/chksum
+++ /dev/null
@@ -1,8 +0,0 @@
-md5 linux-4.19.247.tar.xz 99d70822b67424d20ec43ae35e43f9e3
-sha1 linux-4.19.247.tar.xz 2f31313a3f7207349a7cd78076bfe2a622d1ed2e
-sha256 linux-4.19.247.tar.xz 626b69dd3d4fc5ef38e85225fbe0c99a1ac007008d0abf488b56acb7abaecf8c
-sha512 linux-4.19.247.tar.xz 3bb04c32b4f6a2c1154852fd66c597ca36d85420b4155dfeff53f9ece27717df498f7bb1b13f4f981e320383d2dd6ee2d107e27c52bd94e1bed444866c8d61c1
-md5 linux-4.19.247.tar.gz 4734dbfbd78374fd97c4dfd79f514d3d
-sha1 linux-4.19.247.tar.gz aca284ee4ce97dd168024994d214b943dc23dbcf
-sha256 linux-4.19.247.tar.gz ccefe2554ea44421eb3f32886fedee877498842cd4d807b7e9eeb663daccf41b
-sha512 linux-4.19.247.tar.gz 6c4357e852f3767bf6fb5c43f6c8ce445bf76e692106ddcd532c2f18cc805ab8536d26d28fcd282bd6e33152064384f67bd88dfa77488a2ad9470e0ff6fe330c
diff --git a/packages/linux/4.19.268/chksum b/packages/linux/4.19.268/chksum
new file mode 100644
index 00000000..7a2b074f
--- /dev/null
+++ b/packages/linux/4.19.268/chksum
@@ -0,0 +1,8 @@
+md5 linux-4.19.268.tar.xz 366755a45798defed2e53ad0cbcc4729
+sha1 linux-4.19.268.tar.xz 76e3763f5dd4026e0fc93538a0b1e2faf8caa502
+sha256 linux-4.19.268.tar.xz 219bce1ac3f542d06fc606ae6bcb10f8ab1940a46c7903113be59afc486c204f
+sha512 linux-4.19.268.tar.xz ffaea6200b7b9f82742a0473fc17b8bbd12c13384ffb8470d288579480f89e0ab264b333dbbcaf2fe97d6c2b7d1e87692820e5ba554d14e314c9749b544aebd2
+md5 linux-4.19.268.tar.gz 816b76f2f3d7cdd70e2d575529b8097a
+sha1 linux-4.19.268.tar.gz 1bc075e4ade7e8893875ed333971e72e6525536e
+sha256 linux-4.19.268.tar.gz 2a0d4053a1fa44e959500ac11265935c54690417e9e004ef8212f5dbaaf17787
+sha512 linux-4.19.268.tar.gz ae6e79137b118bf42ebccd169ec7a779ff4f2ee08399d0dedbd6e8e48f35d7c6a9e32512df585764121d148eac80a320a7fd133eb973b97f71ce861b64210db5
diff --git a/packages/linux/4.9.325/version.desc b/packages/linux/4.19.268/version.desc
index e69de29b..e69de29b 100644
--- a/packages/linux/4.9.325/version.desc
+++ b/packages/linux/4.19.268/version.desc
diff --git a/packages/linux/4.9.325/chksum b/packages/linux/4.9.325/chksum
deleted file mode 100644
index 9d2c2368..00000000
--- a/packages/linux/4.9.325/chksum
+++ /dev/null
@@ -1,8 +0,0 @@
-md5 linux-4.9.325.tar.xz ac2e7f72fd8b644396be7af4ae885016
-sha1 linux-4.9.325.tar.xz 2e778bea0dcd841a7061ef94cf57b3cd815886b8
-sha256 linux-4.9.325.tar.xz b48d55e57a55ab9fff2e131a99cf82a49ef726c640ca91e51f69a3063ae8ba12
-sha512 linux-4.9.325.tar.xz 59b8445a8434981af84ab166662e1cdafb3e8a147a86a6e9506fbf5ea88e35f9da060c859a9880b130f604f00f3a57a7259d855f385c9bf0ecbacb15536792d8
-md5 linux-4.9.325.tar.gz cbfbe50b9e11d5fc852db95ed665901d
-sha1 linux-4.9.325.tar.gz 5216d8540819594e9a553fa3457d714c08d18f87
-sha256 linux-4.9.325.tar.gz a80ec6f2c6eef5f444c56233144ccb1cac7049aa77623e312fed635098bf46d7
-sha512 linux-4.9.325.tar.gz 7f530021c700b629d2c42faa08a85cd2bb55ccd1d6213c63780d3fe1b492a5dc60d90a6ffa4adc106928043c5d8b910b69d3bdb3b665f148f2a7753751fc892c
diff --git a/packages/linux/4.9.335/chksum b/packages/linux/4.9.335/chksum
new file mode 100644
index 00000000..aaf2bef0
--- /dev/null
+++ b/packages/linux/4.9.335/chksum
@@ -0,0 +1,8 @@
+md5 linux-4.9.335.tar.xz d906ad9d26db2f22d71acdd76b28edf1
+sha1 linux-4.9.335.tar.xz adfef66bfff1a0056424ce64e3886ef88b624ace
+sha256 linux-4.9.335.tar.xz ed4fd861fe9f6cd09f409f00dcccfa691e6d1a61c585723e587575dcb60aeb29
+sha512 linux-4.9.335.tar.xz eca7d63b584f67855182805929c031d1e79ff5c7c79103d827a11c410c37e017792ed9a910de688a996af0209f55db37c71bf7ffb3571d9a4d9c68557bc8a184
+md5 linux-4.9.335.tar.gz 54fcbeaa3cd84a4605e17b41ae5d0df8
+sha1 linux-4.9.335.tar.gz 456dadd9bb2e26914efc276b8b6c563be7cac68e
+sha256 linux-4.9.335.tar.gz 0847729e7eac61f5a74a6333268e2140b60b6ed0139e340e5ef3b47553644feb
+sha512 linux-4.9.335.tar.gz 4744aa286d1ae15dfe17a463bb10d9a747b9db0335fd8e516f11af17795c4fe78bbf55a963e7f1c30db6c7fb6cbf33b7c88d536671151e011fe400505e9514bc
diff --git a/packages/linux/5.10.134/version.desc b/packages/linux/4.9.335/version.desc
index e69de29b..e69de29b 100644
--- a/packages/linux/5.10.134/version.desc
+++ b/packages/linux/4.9.335/version.desc
diff --git a/packages/linux/5.10.134/chksum b/packages/linux/5.10.134/chksum
deleted file mode 100644
index d7feea41..00000000
--- a/packages/linux/5.10.134/chksum
+++ /dev/null
@@ -1,8 +0,0 @@
-md5 linux-5.10.134.tar.xz d2575b907b5b5dcc8b7eecc5537de7f2
-sha1 linux-5.10.134.tar.xz 599884796de29ac483bde52726985db14123f5be
-sha256 linux-5.10.134.tar.xz ec3513acdf033dd8f8ac2545cd1bb826b0669e151185e5f70408a5c9fe273269
-sha512 linux-5.10.134.tar.xz 888c5f1000329deeba66e7452d64344b589313e6494d96bb62c89250ace93d7ea5f9201b0b203b6730f5de34e04bd4b093ab4592ec7837ebaf09b2348be20ef8
-md5 linux-5.10.134.tar.gz 26c5c1c376448b5cbb637536da36e385
-sha1 linux-5.10.134.tar.gz 173da6c6c1b9d6fab97c5e0144ca0f170f1f2782
-sha256 linux-5.10.134.tar.gz 4c4b1b11c00cacbdb317871d845b14a7e4ad598a1920c3e0e2c2b104fbfe9ab8
-sha512 linux-5.10.134.tar.gz 872af1a22cfb72bbbb53fa53b9c001e906c0fda6411b4b838993884531b72ca55718f783a599f50435353410633f99e32529b0d0d27e437f1da23155eb0a5b41
diff --git a/packages/linux/5.10.158/chksum b/packages/linux/5.10.158/chksum
new file mode 100644
index 00000000..79a99214
--- /dev/null
+++ b/packages/linux/5.10.158/chksum
@@ -0,0 +1,8 @@
+md5 linux-5.10.158.tar.xz fcb4928cafdefca55eb36fc88bf09a30
+sha1 linux-5.10.158.tar.xz 4979966cb568c4c4373de74e6ce957e3545c6041
+sha256 linux-5.10.158.tar.xz 1e0a24bb5510caa18b3601b25e12cc2a1ce123948de551f4f2cdbb40aea707e7
+sha512 linux-5.10.158.tar.xz 45bcb3c145500607d6328662776a5bd4e2fabe882677fefb5fcbf0377504ed1ca4ccddf1aff0a0f6b85ab79f6e9f91fb1377c33a7e14c7f352fa02ec40e67f4e
+md5 linux-5.10.158.tar.gz 20356140f96bde79096df62c8518d743
+sha1 linux-5.10.158.tar.gz 4b2a4d31e19cc9bfa4b07df185ad6af2b35265b2
+sha256 linux-5.10.158.tar.gz 71d9dd3a9b0d3ee05bba34881209a7093e64b8793532c352757b63e654feba84
+sha512 linux-5.10.158.tar.gz fcb9e1c1557f3ee6b7e89a4a3a39a4b1f095339ed868df9fc1e74d8b64f36e193c5325d45c5dd019ee2fd928191b950801df98f7f9a794300caa60528ed644d2
diff --git a/packages/linux/5.15.58/version.desc b/packages/linux/5.10.158/version.desc
index e69de29b..e69de29b 100644
--- a/packages/linux/5.15.58/version.desc
+++ b/packages/linux/5.10.158/version.desc
diff --git a/packages/linux/5.15.58/chksum b/packages/linux/5.15.58/chksum
deleted file mode 100644
index 0c11152d..00000000
--- a/packages/linux/5.15.58/chksum
+++ /dev/null
@@ -1,8 +0,0 @@
-md5 linux-5.15.58.tar.xz f79d155cf7a03bc8d6a6b59baccbc10f
-sha1 linux-5.15.58.tar.xz 17b6ae68a1c8e3bbb7167d14f6222c3cbcb2764c
-sha256 linux-5.15.58.tar.xz d75bd9579c4b318e6162e21c591878fd37efda0f79c5cdd0dc4eb9ea9dfc4fa8
-sha512 linux-5.15.58.tar.xz b0474dc0c8e7e1bfc45e22f5df3c435066ad69144fc4b451335e43133c2113f3d3c1f7c2f3df6e54539fb6d87ebb16f069907c1f4e5922bb69a07e2a00463110
-md5 linux-5.15.58.tar.gz d14d555f342de138b1b2636efd4d1473
-sha1 linux-5.15.58.tar.gz a62fa427252fff5978ec6f5cbe5d4cb623f9836e
-sha256 linux-5.15.58.tar.gz 212babe313406440de08340f9e02064e2e83c0e18763c0632cf30665ecef6d8d
-sha512 linux-5.15.58.tar.gz 0bfe34e3b8fdcc00e832534955531e10fc2236c14428a7d52bd11aba65072480b5d52d674273425c0ed5f167d78edf490ee67b6e31593979cdf60cc60232ffa7
diff --git a/packages/linux/5.15.82/chksum b/packages/linux/5.15.82/chksum
new file mode 100644
index 00000000..056614a0
--- /dev/null
+++ b/packages/linux/5.15.82/chksum
@@ -0,0 +1,8 @@
+md5 linux-5.15.82.tar.xz 39c6d368d79a321ad6b2db4e0f58e206
+sha1 linux-5.15.82.tar.xz 515f5e16dd6e66bfb54fc7be2bc6ae936da76c53
+sha256 linux-5.15.82.tar.xz fceef6bb79bac494663ccde34453521fc616cd94272fd30564752b3742381b65
+sha512 linux-5.15.82.tar.xz b0deb17077d9254e9a6eef853cdbcb7cbdde74cafef214d25961929d02a42fd61d306e3358b17a145999a0df3565c985de6149bd078330c63508ce8ce6fb4938
+md5 linux-5.15.82.tar.gz 76c2a1becb8b45996211476ef79ef419
+sha1 linux-5.15.82.tar.gz 79241dbc98a8f7f847cc4324e6a5beb2c7a837f7
+sha256 linux-5.15.82.tar.gz 2a138780b0d57648a454e09c0321464bd083f9cccd694bdc4e0c5b0f399b2ff1
+sha512 linux-5.15.82.tar.gz 73a42b3b86784a715188d14e41ef518a3efbb28bbc9a0a85b27bd975c77de7f6ca36430c2496b6f5d1714f122f2c563ba6c52537f2a521e0ba9c3896350e31ef
diff --git a/packages/linux/5.19.2/version.desc b/packages/linux/5.15.82/version.desc
index e69de29b..e69de29b 100644
--- a/packages/linux/5.19.2/version.desc
+++ b/packages/linux/5.15.82/version.desc
diff --git a/packages/linux/5.19.16/chksum b/packages/linux/5.19.16/chksum
new file mode 100644
index 00000000..c16d312c
--- /dev/null
+++ b/packages/linux/5.19.16/chksum
@@ -0,0 +1,8 @@
+md5 linux-5.19.16.tar.xz 82402128d59f243efb91a468d8e4513d
+sha1 linux-5.19.16.tar.xz 017325ac51ae393eb644ba173f843dfaae5321ef
+sha256 linux-5.19.16.tar.xz a1ebaf667e1059ae2d72aa6374a4d6e2febc0b8ccda6a124687acc2ea961e08d
+sha512 linux-5.19.16.tar.xz 1ff662424830fbd48ac1d8c1aabd4d11a8eabc284c4fe3fdf803064d4f56d9c1b631a0fb60679bac40a4e05b77d5e6706a8fd52a5e025ef4f1231a6cc84bbbde
+md5 linux-5.19.16.tar.gz 15c43c56b85175aacafaaa4ef1983298
+sha1 linux-5.19.16.tar.gz cd7fb09335a4814a88fedf7ed064e6f10fd1c8db
+sha256 linux-5.19.16.tar.gz 9b835ea04b0210ad0748829367acd84e09357c3dd6d0f48e31737a7f21e990ff
+sha512 linux-5.19.16.tar.gz 9b0330c7257aecba3f6f97566014c03d8012e1b2c5c1ee2c3b5ea1b7a2ca01addf346b5235d772b26e4312b0fc1bb529689390445668606ed96e66174cf93341
diff --git a/packages/linux/5.4.208/version.desc b/packages/linux/5.19.16/version.desc
index e69de29b..e69de29b 100644
--- a/packages/linux/5.4.208/version.desc
+++ b/packages/linux/5.19.16/version.desc
diff --git a/packages/linux/5.19.2/chksum b/packages/linux/5.19.2/chksum
deleted file mode 100644
index 6332bd66..00000000
--- a/packages/linux/5.19.2/chksum
+++ /dev/null
@@ -1,9 +0,0 @@
-
-md5 linux-5.19.2.tar.gz bec93651b7f9c831edc9680ded53f68c
-sha1 linux-5.19.2.tar.gz 56b9fbd3eee480f539de081b1c88245c2b225c3c
-sha256 linux-5.19.2.tar.gz 7f493415f9a03ae3b796cbed92a44d9bcf429f5092bab96ff7bc2d645c45bd49
-sha512 linux-5.19.2.tar.gz 3c98c109d3f9c8b9982b7b5f2a4339fdc2e98c6bd61dabe8d506492c63f699768c62c3c4a0316905fe856d7b83ef0720c51786bf3eba24d51fd95651b95084ea
-md5 linux-5.19.2.tar.xz 391274e2e49a881403b0ff2e0712bf82
-sha1 linux-5.19.2.tar.xz 1860a823651f40bbec09cc3b60c21a912904a91b
-sha256 linux-5.19.2.tar.xz 48e40a1f5501ec6c40e3c86d3d5319200b688f2d9360f72833084d74801fe63d
-sha512 linux-5.19.2.tar.xz 492dc5bf9ac729cc6156e67ba04011ac5528a9eafea817400a2fdc49028fdeab616df9c77833ce4e5e0b2da5f331c9e8bfca2d2721a6aa1be8ef984701c62a04
diff --git a/packages/linux/5.4.208/chksum b/packages/linux/5.4.208/chksum
deleted file mode 100644
index af77271a..00000000
--- a/packages/linux/5.4.208/chksum
+++ /dev/null
@@ -1,8 +0,0 @@
-md5 linux-5.4.208.tar.xz 4f2e012d0b0735a7babc49401aee5b1e
-sha1 linux-5.4.208.tar.xz d4f944d992a763ac05db446145c688013455e9b3
-sha256 linux-5.4.208.tar.xz f06ddf1abf0a87d9b2fbe876798fd92c15af312b3042469082e5994cc0ee0e44
-sha512 linux-5.4.208.tar.xz 2260262607fce42c0a69900c086be69e15c5fece0efe28cbfe4cf5b4e0829b981d0f0a1c75b64ff0953c527058653fc3e45da481b29167cff11664d1953223b5
-md5 linux-5.4.208.tar.gz 2ba6b4d4cec298db92f046c527813116
-sha1 linux-5.4.208.tar.gz 63384e9fba1938a02fde31dd758bbdf1249d95a0
-sha256 linux-5.4.208.tar.gz b5a8bf017da2a668022c9b8dc35b3383d45f9d144177995ce2a14987c22f9428
-sha512 linux-5.4.208.tar.gz 8b8e22ad279748d7e44f49b585cb0b72d24ebdc07b5008e62f7495f3f160101dd16ea4c6bb06eac3d1bd0ad29c646114abb45544c11efea9dd26d092f3683a0a
diff --git a/packages/linux/5.4.226/chksum b/packages/linux/5.4.226/chksum
new file mode 100644
index 00000000..6f998297
--- /dev/null
+++ b/packages/linux/5.4.226/chksum
@@ -0,0 +1,8 @@
+md5 linux-5.4.226.tar.xz 63993a9d57008a1b2c7aad261ab2bba9
+sha1 linux-5.4.226.tar.xz 719a7f8bb1a8a541590b14ae6bf4aa9a777a5d63
+sha256 linux-5.4.226.tar.xz 0c1f552a1d2f63b3ecd4d33189f0003bc91fb8ff79967a7e295d015c280c9a44
+sha512 linux-5.4.226.tar.xz 154c11c58465985e5c68821c4483130c7fe4213fb2dfb4874ffe9d179ccdc9673a04f11d9596116f6105b3dcaa56da9f4305454cdd863b3ded5e24ef6948370d
+md5 linux-5.4.226.tar.gz 7dfc70ed50e729363f11effb837dadc0
+sha1 linux-5.4.226.tar.gz 50680f732ba868200a781a40f35ee42e40ca3275
+sha256 linux-5.4.226.tar.gz d17b08833b299ff821fd461ebd35c7aff90f4277d77a1a8536c810d56c5ca1c9
+sha512 linux-5.4.226.tar.gz 6f1f020ba36f610c843170e1f775828c50fc866bcad717abc75eae0e238761e9916a53e7539b7e1792da0dccd5be30ba5012d9a4064c2cad49af666bcbef3779
diff --git a/packages/picolibc/1.7.8/version.desc b/packages/linux/5.4.226/version.desc
index e69de29b..e69de29b 100644
--- a/packages/picolibc/1.7.8/version.desc
+++ b/packages/linux/5.4.226/version.desc
diff --git a/packages/linux/6.0.12/chksum b/packages/linux/6.0.12/chksum
new file mode 100644
index 00000000..c33840e5
--- /dev/null
+++ b/packages/linux/6.0.12/chksum
@@ -0,0 +1,8 @@
+md5 linux-6.0.12.tar.xz 44933812ad926f5000f01ac108d41ee8
+sha1 linux-6.0.12.tar.xz 97f5627bc5d845b09eadf92af513462fd9b3e9c7
+sha256 linux-6.0.12.tar.xz 89b730edf8942b49e02f9894244205886c9a214d629b35b88c4ff06ee9304f01
+sha512 linux-6.0.12.tar.xz 8a3060f85bf21ff6b963d82e1de13a553ab5b44d0602941168b007fc008a4a9fda4048974844c215bfc479359d8eb75bf94f5d21177e28a340b7c0db9e29dcfa
+md5 linux-6.0.12.tar.gz c5329153967c45de2f06aea39f0aae2f
+sha1 linux-6.0.12.tar.gz 3474a9cbf0b6aff988a150f2541c4e253a968c7c
+sha256 linux-6.0.12.tar.gz 1ed4c4f14399ab216253f69de0e18568c8aa4ef9c36c73c9ea2eb936473fd0bf
+sha512 linux-6.0.12.tar.gz 8cc2981d2beb77ec2ddb8962a082da2d2b1f07d1cd6242c1ba8e99bd61c97aca579492988776f0a54a5de6884bd75c95751014bb86ffa42d5e928e271edfa5e1
diff --git a/packages/strace/5.19/version.desc b/packages/linux/6.0.12/version.desc
index e69de29b..e69de29b 100644
--- a/packages/strace/5.19/version.desc
+++ b/packages/linux/6.0.12/version.desc
diff --git a/packages/linux/6.1/chksum b/packages/linux/6.1/chksum
new file mode 100644
index 00000000..a68f21fb
--- /dev/null
+++ b/packages/linux/6.1/chksum
@@ -0,0 +1,8 @@
+md5 linux-6.1.tar.xz 475320de08f16c9fa486fc4edfe98b30
+sha1 linux-6.1.tar.xz 30996d7c1c59ddbd495bd9eb37c8dfdb1a67c1c3
+sha256 linux-6.1.tar.xz 2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
+sha512 linux-6.1.tar.xz 6ed2a73c2699d0810e54753715635736fc370288ad5ce95c594f2379959b0e418665cd71bc512a0273fe226fe90074d8b10d14c209080a6466498417a4fdda68
+md5 linux-6.1.tar.gz 32445cd604f81b6fd0d023bc009a6a1d
+sha1 linux-6.1.tar.gz e7fdde90c7b6638226e353cbd17c9eae67a40a09
+sha256 linux-6.1.tar.gz de4ee64f1e86da97c0c2974c02a77c01ea81eed0c04b6319fbc719810104de92
+sha512 linux-6.1.tar.gz 9d8a57d9071ffe6bd7e43a52d565e455ac00e64d40137d964c66fe47838b178dddc5c278b18d3486f80966a57a8eac720c45291ea822d64996202dccbeccd4b7
diff --git a/packages/linux/6.1/version.desc b/packages/linux/6.1/version.desc
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/packages/linux/6.1/version.desc
diff --git a/packages/make/4.2.1/version.desc b/packages/make/4.2.1/version.desc
index 30f929c4..f26b5a26 100644
--- a/packages/make/4.2.1/version.desc
+++ b/packages/make/4.2.1/version.desc
@@ -1,2 +1,2 @@
-
+obsolete='yes'
archive_formats='.tar.bz2 .tar.gz'
diff --git a/packages/make/4.3/version.desc b/packages/make/4.3/version.desc
index e69de29b..fcfe3891 100644
--- a/packages/make/4.3/version.desc
+++ b/packages/make/4.3/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/make/4.4/chksum b/packages/make/4.4/chksum
new file mode 100644
index 00000000..7254bea0
--- /dev/null
+++ b/packages/make/4.4/chksum
@@ -0,0 +1,8 @@
+md5 make-4.4.tar.lz 5da8b0fcc500de9c254ca59e58558b27
+sha1 make-4.4.tar.lz bd8e12c82af57e4db7c35b43e09f802f3922696d
+sha256 make-4.4.tar.lz 48d0fc0b2a04bb50f2911c16da65723285f7f4804c74fc5a2124a3df6c5f78c4
+sha512 make-4.4.tar.lz 937945e1de5e370e79f379c867ca37bf7b3559a8b002a9e67c4973071e706f7afc5e419ac5d3348e7a677d5673cdcaa2476120297ec3e5f1c8f28f282cff2579
+md5 make-4.4.tar.gz d7575a26a94ee8427130e9db23cdaa78
+sha1 make-4.4.tar.gz 02910501c2065479c6c7a4855b6ecdf3ac4464d8
+sha256 make-4.4.tar.gz 581f4d4e872da74b3941c874215898a7d35802f03732bdccee1d4a7979105d18
+sha512 make-4.4.tar.gz 4be73f494295dcfa10034531b0d920cfdb5438bc20625f863f5c878549c140e1e67195162580c53060c3c11c67a2c739c09051f02cdd283e5aa9ebcd68975a1f
diff --git a/packages/make/4.4/version.desc b/packages/make/4.4/version.desc
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/packages/make/4.4/version.desc
diff --git a/packages/newlib-nano/package.desc b/packages/newlib-nano/package.desc
index ba18016a..8082c940 100644
--- a/packages/newlib-nano/package.desc
+++ b/packages/newlib-nano/package.desc
@@ -2,7 +2,7 @@ origin='RedHat'
repository='git git://sourceware.org/git/newlib-cygwin.git'
# Do not use "$(CT_Mirrors sourceware newlib)" here: the mirrors (kernel.org
# and gnu.org) only store some older releases of newlib (2.0.0 and before).
-mirrors='ftp://sourceware.org/pub/newlib'
+mirrors='https://sourceware.org/pub/newlib'
relevantpattern='*.*|.*. *.*|.'
archive_filename='newlib-@{version}'
archive_dirname='newlib-@{version}'
diff --git a/packages/newlib/package.desc b/packages/newlib/package.desc
index 27a5fa6e..f3801daf 100644
--- a/packages/newlib/package.desc
+++ b/packages/newlib/package.desc
@@ -2,6 +2,6 @@ origin='RedHat'
repository='git git://sourceware.org/git/newlib-cygwin.git'
# Do not use "$(CT_Mirrors sourceware newlib)" here: the mirrors (kernel.org
# and gnu.org) only store some older releases of newlib (2.0.0 and before).
-mirrors='ftp://sourceware.org/pub/newlib'
+mirrors='https://sourceware.org/pub/newlib'
relevantpattern='*.*|.*. *.*|.'
archive_formats='.tar.gz'
diff --git a/packages/picolibc/1.7.8/chksum b/packages/picolibc/1.7.8/chksum
deleted file mode 100644
index 60d37808..00000000
--- a/packages/picolibc/1.7.8/chksum
+++ /dev/null
@@ -1,4 +0,0 @@
-md5 picolibc-1.7.8.tar.xz 2e05738d06d7dea791eb633c12aa4d62
-sha1 picolibc-1.7.8.tar.xz dae98084735523586da37ab9b7e3b3a831a38b7b
-sha256 picolibc-1.7.8.tar.xz b0bddaf1cafbe0fa72e55bd27895b24d30f2a03ebc0e5b3dd2046d4cefe1c158
-sha512 picolibc-1.7.8.tar.xz 9ea2b0341ed8c76e799e03e1aa0b06e7c4b0b49b4f55f57126ae1c9e70c0584594575bef2d1d3f21db1e96a51118bd842a433e214d7bdce05d6ada5ff483da5e
diff --git a/packages/picolibc/1.7.9/chksum b/packages/picolibc/1.7.9/chksum
new file mode 100644
index 00000000..2b39d8b3
--- /dev/null
+++ b/packages/picolibc/1.7.9/chksum
@@ -0,0 +1,4 @@
+md5 picolibc-1.7.9.tar.xz 23c37660dda10c32f1fd1f280ed97913
+sha1 picolibc-1.7.9.tar.xz b082feda14c8fb95b2b1e4beff714eb99bdd9c52
+sha256 picolibc-1.7.9.tar.xz 4b0042344fe7be61adf44ae098f94e21a90ac5179152b3a5ea779451c8e914ab
+sha512 picolibc-1.7.9.tar.xz 71f15f274ff406042ac9f8c074bc4cc003d4d47fca1bef12abe7409e5c439a73d9a34a711d5ca22a40a98a828c9db2553baf5e071176db3c835daf727a18ea78
diff --git a/packages/picolibc/1.7.9/version.desc b/packages/picolibc/1.7.9/version.desc
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/packages/picolibc/1.7.9/version.desc
diff --git a/packages/strace/5.19/chksum b/packages/strace/5.19/chksum
deleted file mode 100644
index d3f14014..00000000
--- a/packages/strace/5.19/chksum
+++ /dev/null
@@ -1,4 +0,0 @@
-md5 strace-5.19.tar.xz 13a37bd709b452a7c30e89f0db39b535
-sha1 strace-5.19.tar.xz dc34c0d7c3ab0d0adb227f751c016da2c415eb2e
-sha256 strace-5.19.tar.xz aa3dc1c8e60e4f6ff3d396514aa247f3c7bf719d8a8dc4dd4fa793be786beca3
-sha512 strace-5.19.tar.xz 1ea1c6e12d05bf145bc3c74f8d06b08dfc3eae3a5a21bfe8ab080053dc4c2da8a95be5956652ea62bb083462015a55f9bc1d1023919dcf2929a05211b7dde963
diff --git a/packages/strace/6.1/chksum b/packages/strace/6.1/chksum
new file mode 100644
index 00000000..e6b94916
--- /dev/null
+++ b/packages/strace/6.1/chksum
@@ -0,0 +1,4 @@
+md5 strace-6.1.tar.xz cbd758b0545b678cd7ac09c683ade002
+sha1 strace-6.1.tar.xz b451b02579bc473e5f0e559ce40be634026e3f2b
+sha256 strace-6.1.tar.xz 2579e9cec37dbb786f6ea0bebd15f40dd561ef2bde2a2a2ecdce5963b01859fd
+sha512 strace-6.1.tar.xz 3f0678d74c5c3e6b30c4dc4ed7ee4cb0829d3b7142dc014fcd887db3a68133bf7fedc623bae381dfe4305bd6cd15d4ca6776c6491009c2a053bb8c6ca1ae8e12
diff --git a/packages/strace/6.1/version.desc b/packages/strace/6.1/version.desc
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/packages/strace/6.1/version.desc
diff --git a/packages/zlib/1.2.12/version.desc b/packages/zlib/1.2.12/version.desc
index e69de29b..fcfe3891 100644
--- a/packages/zlib/1.2.12/version.desc
+++ b/packages/zlib/1.2.12/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/zlib/1.2.13/0000-mingw-static-only.patch b/packages/zlib/1.2.13/0000-mingw-static-only.patch
new file mode 100644
index 00000000..cab2389c
--- /dev/null
+++ b/packages/zlib/1.2.13/0000-mingw-static-only.patch
@@ -0,0 +1,28 @@
+---
+ win32/Makefile.gcc | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+--- a/win32/Makefile.gcc
++++ b/win32/Makefile.gcc
+@@ -66,7 +66,11 @@
+ gzwrite.o infback.o inffast.o inflate.o inftrees.o trees.o uncompr.o zutil.o
+ OBJA =
+
+-all: $(STATICLIB) $(SHAREDLIB) $(IMPLIB) example.exe minigzip.exe example_d.exe minigzip_d.exe
++all: $(STATICLIB) example.exe minigzip.exe
++
++ifeq ($(SHARED_MODE),1)
++all: $(SHAREDLIB) $(IMPLIB) example_d.exe minigzip_d.exe
++endif
+
+ test: example.exe minigzip.exe
+ ./example
+@@ -120,7 +124,7 @@
+ .PHONY: install uninstall clean
+
+ install: zlib.h zconf.h $(STATICLIB) $(IMPLIB)
+- @if test -z "$(DESTDIR)$(INCLUDE_PATH)" -o -z "$(DESTDIR)$(LIBRARY_PATH)" -o -z "$(DESTDIR)$(BINARY_PATH)"; then \
++ @if test -z "$(INCLUDE_PATH)" -o -z "$(LIBRARY_PATH)" -o -z "$(BINARY_PATH)"; then \
+ echo INCLUDE_PATH, LIBRARY_PATH, and BINARY_PATH must be specified; \
+ exit 1; \
+ fi
diff --git a/packages/zlib/1.2.13/0001-crossbuild-macos-libtool.patch b/packages/zlib/1.2.13/0001-crossbuild-macos-libtool.patch
new file mode 100644
index 00000000..daa62448
--- /dev/null
+++ b/packages/zlib/1.2.13/0001-crossbuild-macos-libtool.patch
@@ -0,0 +1,34 @@
+From: Heiko Lewin <heiko.lewin@worldiety.de>
+Date: Fri, 22 May 2020 03:32:33 +0200
+Subject: configure: use LIBTOOL variable for Darwin builds
+
+---
+ configure | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+--- a/configure
++++ b/configure
+@@ -69,6 +69,12 @@
+ else
+ NM=${NM-"nm"}
+ fi
++if "${CROSS_PREFIX}libtool" --version >/dev/null 2>/dev/null || test $? -lt 126; then
++ LIBTOOL=${LIBTOOL-"${CROSS_PREFIX}libtool"}
++ test -n "${CROSS_PREFIX}" && echo Using ${LIBTOOL} | tee -a configure.log
++else
++ LIBTOOL=${LIBTOOL-"libtool"}
++fi
+
+ # set defaults before processing command line options
+ LDCONFIG=${LDCONFIG-"ldconfig"}
+@@ -260,8 +266,8 @@
+ SHAREDLIBV=libz.$VER$shared_ext
+ SHAREDLIBM=libz.$VER1$shared_ext
+ LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER3"}
+- if libtool -V 2>&1 | grep Apple > /dev/null; then
+- AR="libtool"
++ if ${LIBTOOL} -V 2>&1 | grep Apple > /dev/null; then
++ AR="${LIBTOOL}"
+ else
+ AR="/usr/bin/libtool"
+ fi
diff --git a/packages/zlib/1.2.13/chksum b/packages/zlib/1.2.13/chksum
new file mode 100644
index 00000000..214209bd
--- /dev/null
+++ b/packages/zlib/1.2.13/chksum
@@ -0,0 +1,8 @@
+md5 zlib-1.2.13.tar.xz 7d9fc1d78ae2fa3e84fe98b77d006c63
+sha1 zlib-1.2.13.tar.xz b459b42aa533968ae403c0002a255d62d3136954
+sha256 zlib-1.2.13.tar.xz d14c38e313afc35a9a8760dadf26042f51ea0f5d154b0630a31da0540107fb98
+sha512 zlib-1.2.13.tar.xz 9e7ac71a1824855ae526506883e439456b74ac0b811d54e94f6908249ba8719bec4c8d7672903c5280658b26cb6b5e93ecaaafe5cdc2980c760fa196773f0725
+md5 zlib-1.2.13.tar.gz 9b8aa094c4e5765dabf4da391f00d15c
+sha1 zlib-1.2.13.tar.gz 55eaa84906f31ac20d725aa26cd20839196b6ba6
+sha256 zlib-1.2.13.tar.gz b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30
+sha512 zlib-1.2.13.tar.gz 99f0e843f52290e6950cc328820c0f322a4d934a504f66c7caa76bd0cc17ece4bf0546424fc95135de85a2656fed5115abb835fd8d8a390d60ffaf946c8887ad
diff --git a/packages/zlib/1.2.13/version.desc b/packages/zlib/1.2.13/version.desc
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/packages/zlib/1.2.13/version.desc
diff --git a/packages/zlib/package.desc b/packages/zlib/package.desc
index d85e5656..2a3984f3 100644
--- a/packages/zlib/package.desc
+++ b/packages/zlib/package.desc
@@ -1,4 +1,4 @@
repository='git https://github.com/madler/zlib.git'
-mirrors='http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/'
+mirrors='https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/'
archive_formats='.tar.xz .tar.gz'
signature_format='packed/.asc'