crux-commits
Threads by month
- ----- 2025 -----
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
November 2022
- 1 participants
- 565 discussions
commit 882d3e821878fc2aa7e7185c60d5ea7dbbf50435
Author: Tim Biermann <tbier(a)posteo.de>
Date: Sun Nov 6 17:31:34 2022 +0000
python3-phonenumbers: 8.12.57 -> 8.13.0
diff --git a/python3-phonenumbers/.signature b/python3-phonenumbers/.signature
index d7046dae8..b40fba25a 100644
--- a/python3-phonenumbers/.signature
+++ b/python3-phonenumbers/.signature
@@ -1,5 +1,5 @@
untrusted comment: verify with /etc/ports/contrib.pub
-RWSagIOpLGJF3yzKxdxhl9gGgOpe0eU2JY7Nkl8PkKEfHQ72tGlEHNr59wq2nu3Pjo/dhRihikMjjT9mNEO4x5zaTgVLkINvsw0=
-SHA256 (Pkgfile) = af13e6dfff4f1c89fe5647cbe94ea94abad70621213a876cb8d046119d3ec094
+RWSagIOpLGJF33iLrt9i4Hz0PgrFtsMzUUyhPthrQT3uD5khnoIW+sheR5f4yJQ+ePPn++HcsgqfS5qPadBYew10nJXNDbiNeA0=
+SHA256 (Pkgfile) = 36838958eca2d6a88ae6d6a2a47fe4022355d84f0e9252dad6e3c4cde530f5ca
SHA256 (.footprint) = 3d511600940ba9243db37ffe3f6004b2bcfe1191aff1a5543986e0e893f3bc34
-SHA256 (python3-phonenumbers-8.12.57.tar.gz) = 01ad478f63c732e4fa4735ba9b2d86895d8c46eca00fdf3bcaab05b3a222a3f7
+SHA256 (python3-phonenumbers-8.13.0.tar.gz) = ee6c745f3521261f484e31acb73313bad1b729534533fb073ef6d18827fccb12
diff --git a/python3-phonenumbers/Pkgfile b/python3-phonenumbers/Pkgfile
index 32c53a522..ce4111022 100644
--- a/python3-phonenumbers/Pkgfile
+++ b/python3-phonenumbers/Pkgfile
@@ -4,7 +4,7 @@
# Depends on: python3-setuptools
name=python3-phonenumbers
-version=8.12.57
+version=8.13.0
release=1
source=(https://github.com/daviddrysdale/python-phonenumbers/archive/v$vers…
1
0
commit 8ace0424577ea061df69b6fcb094eb87d3fc5d9c
Author: Tim Biermann <tbier(a)posteo.de>
Date: Sun Nov 6 17:28:21 2022 +0000
meson: 0.63.3 -> 0.64.0
diff --git a/meson/.footprint b/meson/.footprint
index 81d9d7d3..38d8c70d 100644
--- a/meson/.footprint
+++ b/meson/.footprint
@@ -4,13 +4,13 @@ drwxr-xr-x root/root usr/bin/
drwxr-xr-x root/root usr/lib/
drwxr-xr-x root/root usr/lib/python3.10/
drwxr-xr-x root/root usr/lib/python3.10/site-packages/
-drwxr-xr-x root/root usr/lib/python3.10/site-packages/meson-0.63.3-py3.10.egg-info/
--rw-r--r-- root/root usr/lib/python3.10/site-packages/meson-0.63.3-py3.10.egg-info/PKG-INFO
--rw-r--r-- root/root usr/lib/python3.10/site-packages/meson-0.63.3-py3.10.egg-info/SOURCES.txt
--rw-r--r-- root/root usr/lib/python3.10/site-packages/meson-0.63.3-py3.10.egg-info/dependency_links.txt
--rw-r--r-- root/root usr/lib/python3.10/site-packages/meson-0.63.3-py3.10.egg-info/entry_points.txt
--rw-r--r-- root/root usr/lib/python3.10/site-packages/meson-0.63.3-py3.10.egg-info/requires.txt
--rw-r--r-- root/root usr/lib/python3.10/site-packages/meson-0.63.3-py3.10.egg-info/top_level.txt
+drwxr-xr-x root/root usr/lib/python3.10/site-packages/meson-0.64.0-py3.10.egg-info/
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/meson-0.64.0-py3.10.egg-info/PKG-INFO
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/meson-0.64.0-py3.10.egg-info/SOURCES.txt
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/meson-0.64.0-py3.10.egg-info/dependency_links.txt
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/meson-0.64.0-py3.10.egg-info/entry_points.txt
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/meson-0.64.0-py3.10.egg-info/requires.txt
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/meson-0.64.0-py3.10.egg-info/top_level.txt
drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/__init__.py (EMPTY)
drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/__pycache__/
@@ -42,6 +42,8 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/__pycache__/
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/__pycache__/mdist.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/__pycache__/mesondata.cpython-310.opt-1.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/__pycache__/mesondata.cpython-310.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/__pycache__/mesonlib.cpython-310.opt-1.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/__pycache__/mesonlib.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/__pycache__/mesonmain.cpython-310.opt-1.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/__pycache__/mesonmain.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/__pycache__/minit.cpython-310.opt-1.pyc
@@ -167,6 +169,8 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/compilers/
drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/compilers/__pycache__/
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/compilers/__pycache__/__init__.cpython-310.opt-1.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/compilers/__pycache__/__init__.cpython-310.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/compilers/__pycache__/asm.cpython-310.opt-1.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/compilers/__pycache__/asm.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/compilers/__pycache__/c.cpython-310.opt-1.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/compilers/__pycache__/c.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/compilers/__pycache__/c_function_attributes.cpython-310.opt-1.pyc
@@ -199,6 +203,7 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/compilers/__pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/compilers/__pycache__/swift.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/compilers/__pycache__/vala.cpython-310.opt-1.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/compilers/__pycache__/vala.cpython-310.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/compilers/asm.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/compilers/c.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/compilers/c_function_attributes.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/compilers/compilers.py
@@ -430,26 +435,7 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/linkers/__pycac
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mdevenv.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mdist.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesondata.py
-drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/__init__.py
-drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/__pycache__/
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/__pycache__/__init__.cpython-310.opt-1.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/__pycache__/__init__.cpython-310.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/__pycache__/platform.cpython-310.opt-1.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/__pycache__/platform.cpython-310.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/__pycache__/posix.cpython-310.opt-1.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/__pycache__/posix.cpython-310.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/__pycache__/universal.cpython-310.opt-1.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/__pycache__/universal.cpython-310.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/__pycache__/vsenv.cpython-310.opt-1.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/__pycache__/vsenv.cpython-310.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/__pycache__/win32.cpython-310.opt-1.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/__pycache__/win32.cpython-310.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/platform.py
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/posix.py
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/universal.py
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/vsenv.py
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib/win32.py
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonlib.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mesonmain.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/minit.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/minstall.py
@@ -462,8 +448,12 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycac
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/__init__.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/cmake.cpython-310.opt-1.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/cmake.cpython-310.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/cuda.cpython-310.opt-1.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/cuda.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/dlang.cpython-310.opt-1.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/dlang.cpython-310.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/external_project.cpython-310.opt-1.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/external_project.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/fs.cpython-310.opt-1.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/fs.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/gnome.cpython-310.opt-1.pyc
@@ -472,6 +462,8 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycac
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/hotdoc.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/i18n.cpython-310.opt-1.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/i18n.cpython-310.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/icestorm.cpython-310.opt-1.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/icestorm.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/java.cpython-310.opt-1.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/java.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/keyval.cpython-310.opt-1.pyc
@@ -492,28 +484,25 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycac
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/qt5.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/qt6.cpython-310.opt-1.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/qt6.cpython-310.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/rust.cpython-310.opt-1.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/rust.cpython-310.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/simd.cpython-310.opt-1.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/simd.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/sourceset.cpython-310.opt-1.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/sourceset.cpython-310.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/unstable_cuda.cpython-310.opt-1.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/unstable_cuda.cpython-310.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/unstable_external_project.cpython-310.opt-1.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/unstable_external_project.cpython-310.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/unstable_icestorm.cpython-310.opt-1.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/unstable_icestorm.cpython-310.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/unstable_rust.cpython-310.opt-1.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/unstable_rust.cpython-310.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/unstable_simd.cpython-310.opt-1.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/unstable_simd.cpython-310.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/unstable_wayland.cpython-310.opt-1.pyc
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/unstable_wayland.cpython-310.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/wayland.cpython-310.opt-1.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/wayland.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/windows.cpython-310.opt-1.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycache__/windows.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/cmake.py
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/cuda.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/dlang.py
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/external_project.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/fs.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/gnome.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/hotdoc.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/i18n.py
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/icestorm.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/java.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/keyval.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/modtest.py
@@ -524,13 +513,10 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/modules/__pycac
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/qt4.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/qt5.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/qt6.py
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/rust.py
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/simd.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/sourceset.py
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/unstable_cuda.py
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/unstable_external_project.py
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/unstable_icestorm.py
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/unstable_rust.py
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/unstable_simd.py
--rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/unstable_wayland.py
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/wayland.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/modules/windows.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/mparser.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/msetup.py
@@ -591,10 +577,14 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/__pycac
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/__pycache__/symbolextractor.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/__pycache__/tags.cpython-310.opt-1.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/__pycache__/tags.cpython-310.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/__pycache__/test_loaded_modules.cpython-310.opt-1.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/__pycache__/test_loaded_modules.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/__pycache__/uninstall.cpython-310.opt-1.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/__pycache__/uninstall.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/__pycache__/vcstagger.cpython-310.opt-1.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/__pycache__/vcstagger.cpython-310.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/__pycache__/yasm.cpython-310.opt-1.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/__pycache__/yasm.cpython-310.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/clangformat.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/clangtidy.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/cleantrees.py
@@ -619,8 +609,10 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/__pycac
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/scanbuild.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/symbolextractor.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/tags.py
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/test_loaded_modules.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/uninstall.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/vcstagger.py
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/scripts/yasm.py
drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/templates/
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/templates/__init__.py (EMPTY)
drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/templates/__pycache__/
@@ -668,6 +660,29 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/templates/__pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/templates/samplefactory.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/templates/sampleimpl.py
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/templates/valatemplates.py
+drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/utils/
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/__init__.py (EMPTY)
+drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/utils/__pycache__/
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/__pycache__/__init__.cpython-310.opt-1.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/__pycache__/__init__.cpython-310.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/__pycache__/core.cpython-310.opt-1.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/__pycache__/core.cpython-310.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/__pycache__/platform.cpython-310.opt-1.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/__pycache__/platform.cpython-310.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/__pycache__/posix.cpython-310.opt-1.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/__pycache__/posix.cpython-310.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/__pycache__/universal.cpython-310.opt-1.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/__pycache__/universal.cpython-310.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/__pycache__/vsenv.cpython-310.opt-1.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/__pycache__/vsenv.cpython-310.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/__pycache__/win32.cpython-310.opt-1.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/__pycache__/win32.cpython-310.pyc
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/core.py
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/platform.py
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/posix.py
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/universal.py
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/vsenv.py
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/utils/win32.py
drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/wrap/
-rw-r--r-- root/root usr/lib/python3.10/site-packages/mesonbuild/wrap/__init__.py
drwxr-xr-x root/root usr/lib/python3.10/site-packages/mesonbuild/wrap/__pycache__/
diff --git a/meson/.signature b/meson/.signature
index 2c02201f..6df98110 100644
--- a/meson/.signature
+++ b/meson/.signature
@@ -1,5 +1,5 @@
untrusted comment: verify with /etc/ports/core.pub
-RWRJc1FUaeVeqhTdbPfx9V2nXAsdgrU0iVFuTSv37PaHSbZYLYdpXQvGiXvABI9K8aDmYciTcYU7SbRGX7FuWfYRoFuFfz/mEwg=
-SHA256 (Pkgfile) = 827cb73395a27e985dc06b787fc70a641633653392e35e8801a57cbc5c4ef31f
-SHA256 (.footprint) = 83e71b007351a0f8ab33bde405a3a65437ee21961b1a6827be2fe12c0fe653f2
-SHA256 (meson-0.63.3.tar.gz) = 519c0932e1a8b208741f0fdce90aa5c0b528dd297cf337009bf63539846ac056
+RWRJc1FUaeVeqlqXeceJoYMvODdEL6rzUppC/L5JwsVQm+pyCxtPWRRe/2Lp2vzLScMm1jjKlP2An3qLhopbm/LPp34UehYr8gM=
+SHA256 (Pkgfile) = 406fadeb66491b9c512b088e46202f9fe6bc0d2e4b36846b8e58e7ebd074411d
+SHA256 (.footprint) = 61c3d0a552fbc7854434f8fd0e01fe647b0011137e98966ebc83bc7e1e353089
+SHA256 (meson-0.64.0.tar.gz) = c5e27e091c2a35b9049e152a6535045ebbd057253aeb67856de6ecbb7b917bab
diff --git a/meson/Pkgfile b/meson/Pkgfile
index 595c688e..2223a0a8 100644
--- a/meson/Pkgfile
+++ b/meson/Pkgfile
@@ -4,7 +4,7 @@
# Depends on: python3-setuptools
name=meson
-version=0.63.3
+version=0.64.0
release=1
source=(https://github.com/mesonbuild/meson/releases/download/$version/$nam…
1
0
commit e942b6bf9e7c3368e0f6b2c172e83089499fc5b8
Author: Tim Biermann <tbier(a)posteo.de>
Date: Sun Nov 6 15:32:14 2022 +0000
glibc-32: fix build with make 4.4
diff --git a/glibc-32/.signature b/glibc-32/.signature
index 346961ce..81acb910 100644
--- a/glibc-32/.signature
+++ b/glibc-32/.signature
@@ -1,8 +1,9 @@
untrusted comment: verify with /etc/ports/core.pub
-RWRJc1FUaeVeqo/yaq0daCyYMKbPUqcBeSMqGa3hu37jZ+RoLsJiclGtvbuNnEcVkZvlFgQvjramjaNCA/9u9K76uZKanzOApQw=
-SHA256 (Pkgfile) = bf4f6b622c76910babef8944d76a95bc7ef5009cedd99aca864e698b44d09a10
+RWRJc1FUaeVeqjEdUJ+KQ0j8BJgEF0gkn7k0nXzeBIXNt36k4E9+QNFGR4YG7dSPhqx9c7i3YxCXmXhdY9iZno9k5F1+SoKbfwI=
+SHA256 (Pkgfile) = 53aec968f2b2fcbe34639c98fcb61f954f1e841b71ef4479307631d206d6e762
SHA256 (.footprint) = f676700a19f936a1af944e81a516dbf182723d6ac244eadabd3fd19e9a01daa5
SHA256 (glibc-2.36.tar.xz) = 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75
SHA256 (linux-5.15.55.tar.xz) = 1ef6bd508b6c3af3bef2d5b337e4477254dba284c79e329aa38f9763ae3bfdcc
-SHA256 (glibc-2.36-2.patch) = 4760e63dc0539952673bae08f3380608b53c74c9726e7f3137979f0f776d2a80
+SHA256 (glibc-2.35-make-4.4-MAKEFLAGS.patch) = 7cfc3e52d840f5fb292e251209731ff83753cc5bf0056df3190ee4cb88ed3278
+SHA256 (glibc-2.36-3.patch) = 0733042e85defe47019d3f8a31a21015997c78137a876ce97d2e0e64c79e173f
SHA256 (lib32.conf) = 2f174d2bcefe1c29327690514f34d6970fffdd54398320ca23a11b5f1e3c9b2d
diff --git a/glibc-32/Pkgfile b/glibc-32/Pkgfile
index f6a5a858..c93f2f1f 100644
--- a/glibc-32/Pkgfile
+++ b/glibc-32/Pkgfile
@@ -4,12 +4,13 @@
name=glibc-32
version=2.36
-release=2
+release=3
_kernel_version=5.15.55
source=(https://ftp.gnu.org/gnu/glibc/glibc-$version.tar.xz
https://www.kernel.org/pub/linux/kernel/v5.x/linux-$_kernel_version.tar.xz
- glibc-$version-2.patch lib32.conf)
+ glibc-2.35-make-4.4-MAKEFLAGS.patch
+ glibc-$version-3.patch lib32.conf)
build() {
# install kernel headers
@@ -18,7 +19,8 @@ build() {
make -C $SRC/linux-$_kernel_version INSTALL_HDR_PATH=$PKG/usr headers_install
chown root:root $PKG/usr
- patch -p1 -d $SRC/glibc-${version:0:4} -i $SRC/glibc-$version-2.patch
+ patch -p1 -d $SRC/glibc-${version:0:4} -i $SRC/glibc-$version-3.patch
+ patch -p1 -d $SRC/glibc-${version:0:4} -i $SRC/glibc-2.35-make-4.4-MAKEFLAGS.patch
mkdir $SRC/build
cd $SRC/build
diff --git a/glibc-32/glibc-2.35-make-4.4-MAKEFLAGS.patch b/glibc-32/glibc-2.35-make-4.4-MAKEFLAGS.patch
new file mode 100644
index 00000000..51fbe5f5
--- /dev/null
+++ b/glibc-32/glibc-2.35-make-4.4-MAKEFLAGS.patch
@@ -0,0 +1,102 @@
+https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=2d7ed98add14f75041499ac189696c9bd3d757fe
+https://bugs.gentoo.org/869263
+
+From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich(a)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(a)gnu.org>
+CC: Siddhesh Poyarekar <siddhesh(a)gotplt.org>
+Signed-off-by: Sergei Trofimovich <slyich(a)gmail.com>
+Reviewed-by: Siddhesh Poyarekar <siddhesh(a)sourceware.org>
+--- 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
+--- 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 :=
+--- 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 :=
diff --git a/glibc-32/glibc-2.36-2.patch b/glibc-32/glibc-2.36-3.patch
similarity index 76%
rename from glibc-32/glibc-2.36-2.patch
rename to glibc-32/glibc-2.36-3.patch
index b810e453..864fdafd 100644
--- a/glibc-32/glibc-2.36-2.patch
+++ b/glibc-32/glibc-2.36-3.patch
@@ -1,13 +1,20 @@
diff --git a/NEWS b/NEWS
-index f61e521fc8..91bcfeb7a6 100644
+index f61e521fc8..e92d547e2c 100644
--- a/NEWS
+++ b/NEWS
-@@ -5,6 +5,31 @@ See the end for copying conditions.
+@@ -5,6 +5,48 @@ See the end for copying conditions.
Please send GNU C library bug reports via <https://sourceware.org/bugzilla/>
using `glibc' in the "product" field.
+Version 2.36.1
+
++Major new features:
++
++* The getent tool now supports the --no-addrconfig option. The output of
++ getent with --no-addrconfig may contain addresses of families not
++ configured on the current host i.e. as-if you had not passed
++ AI_ADDRCONFIG to getaddrinfo calls.
++
+Security related changes:
+
+ CVE-2022-39046: When the syslog function is passed a crafted input
@@ -18,6 +25,7 @@ index f61e521fc8..91bcfeb7a6 100644
+The following bugs are resolved with this release:
+
+ [12154] Do not fail DNS resolution for CNAMEs which are not host names
++ [24816] Fix tst-nss-files-hosts-long on single-stack hosts
+ [28846] CMSG_NXTHDR may trigger -Wstrict-overflow warning
+ [29305] Conserve NSS buffer space during DNS packet parsing
+ [29415] nscd: Fix netlink cache invalidation if epoll is used
@@ -25,11 +33,20 @@ index f61e521fc8..91bcfeb7a6 100644
+ [29446] _dlopen now ignores dl_caller argument in static mode
+ [29485] Linux: Terminate subprocess on late failure in tst-pidfd
+ [29490] alpha: New __brk_call implementation is broken
++ [29463] math/test-float128-y1 fails on x86_64
++ [29488] test-ibm128-llround fails on ppc64el when built with gcc-12 and -O2
++ or higher
+ [29528] elf: Call __libc_early_init for reused namespaces
+ [29537] libc: [2.34 regression]: Alignment issue on m68k when using
+ [29539] libc: LD_TRACE_LOADED_OBJECTS changed how vDSO library are
+ [29583] Use 64-bit interfaces in gconv_parseconfdir
++ [29600] Do not completely clear reused namespace in dlmopen
++ [29607] nscd repeatably crashes calling __strlen_avx2 when hosts cache is
++ enabled
+ [29638] libc: stdlib: arc4random fallback is never used
++ [29657] libc: Incorrect struct stat for 64-bit time on linux/generic
++ platforms
++ [29730] broken y2038 support in fstatat on MIPS N64
+
Version 2.36
@@ -260,30 +277,46 @@ index 6f161f6ad5..92eb53790e 100644
struct r_strlenpair *overall_result
= malloc (*sz * sizeof (*result) + total);
if (overall_result == NULL)
+diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c
+index 4c86dc694e..67fb2e31e2 100644
+--- a/elf/dl-lookup.c
++++ b/elf/dl-lookup.c
+@@ -854,6 +854,23 @@ _dl_lookup_symbol_x (const char *undef_name, struct link_map *undef_map,
+ if (__glibc_unlikely (current_value.m->l_used == 0))
+ current_value.m->l_used = 1;
+
++ if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_BINDINGS))
++ {
++ const char *reference_name = undef_map->l_name;
++
++ _dl_debug_printf ("binding file %s [%lu] to %s [%lu]: %s symbol `%s'",
++ DSO_FILENAME (reference_name),
++ undef_map->l_ns,
++ DSO_FILENAME (current_value.m->l_name),
++ current_value.m->l_ns,
++ protected ? "protected" : "normal", undef_name);
++ if (version)
++ _dl_debug_printf_c (" [%s]\n", version->name);
++ else
++ _dl_debug_printf_c ("\n");
++ }
++
++
+ *ref = current_value.s;
+ return LOOKUP_VALUE (current_value.m);
+ }
diff --git a/elf/dl-open.c b/elf/dl-open.c
-index a23e65926b..46e8066fd8 100644
+index a23e65926b..e7db5e9642 100644
--- a/elf/dl-open.c
+++ b/elf/dl-open.c
-@@ -844,11 +844,14 @@ _dl_open (const char *file, int mode, const void *caller_dlopen, Lmid_t nsid,
- _dl_signal_error (EINVAL, file, NULL, N_("\
- no more namespaces available for dlmopen()"));
+@@ -850,6 +850,7 @@ no more namespaces available for dlmopen()"));
+ ++GL(dl_nns);
}
-- else if (nsid == GL(dl_nns))
-- {
-- __rtld_lock_initialize (GL(dl_ns)[nsid]._ns_unique_sym_table.lock);
-- ++GL(dl_nns);
-- }
-+
-+ if (nsid == GL(dl_nns))
-+ ++GL(dl_nns);
-+
-+ /* Initialize the new namespace. Most members are
-+ zero-initialized, only the lock needs special treatment. */
-+ memset (&GL(dl_ns)[nsid], 0, sizeof (GL(dl_ns)[nsid]));
-+ __rtld_lock_initialize (GL(dl_ns)[nsid]._ns_unique_sym_table.lock);
++ GL(dl_ns)[nsid].libc_map = NULL;
_dl_debug_update (nsid)->r_state = RT_CONSISTENT;
}
+ /* Never allow loading a DSO in a namespace which is empty. Such
diff --git a/elf/dl-sort-maps.c b/elf/dl-sort-maps.c
index 96638d7ed1..3e2a6a584e 100644
--- a/elf/dl-sort-maps.c
@@ -394,6 +427,24 @@ index 5f7f18ef27..4bf9052db1 100644
+tst-bz28937: {+a;+b;-b;+c;%c};a->a1;a->a2;a2->a;b->b1;c->a1;c=>a1
+output(glibc.rtld.dynamic_sort=1): {+a[a2>a1>a>];+b[b1>b>];-b[<b<b1];+c[c>];%c(a1());}<a<a2<c<a1
+output(glibc.rtld.dynamic_sort=2): {+a[a2>a1>a>];+b[b1>b>];-b[<b<b1];+c[c>];%c(a1());}<a2<a<c<a1
+diff --git a/elf/elf.h b/elf/elf.h
+index 02a1b3f52f..014393f3cc 100644
+--- a/elf/elf.h
++++ b/elf/elf.h
+@@ -4085,8 +4085,11 @@ enum
+ #define R_NDS32_TLS_DESC 119
+
+ /* LoongArch ELF Flags */
+-#define EF_LARCH_ABI 0x07
+-#define EF_LARCH_ABI_LP64D 0x03
++#define EF_LARCH_ABI_MODIFIER_MASK 0x07
++#define EF_LARCH_ABI_SOFT_FLOAT 0x01
++#define EF_LARCH_ABI_SINGLE_FLOAT 0x02
++#define EF_LARCH_ABI_DOUBLE_FLOAT 0x03
++#define EF_LARCH_OBJABI_V1 0x40
+
+ /* LoongArch specific dynamic relocations */
+ #define R_LARCH_NONE 0
diff --git a/elf/rtld.c b/elf/rtld.c
index cbbaf4a331..3e771a93d8 100644
--- a/elf/rtld.c
@@ -512,10 +563,10 @@ index 0000000000..40c6c01f96
+}
diff --git a/elf/tst-dlmopen-twice.c b/elf/tst-dlmopen-twice.c
new file mode 100644
-index 0000000000..449f3c8fa9
+index 0000000000..70c71fe19c
--- /dev/null
+++ b/elf/tst-dlmopen-twice.c
-@@ -0,0 +1,34 @@
+@@ -0,0 +1,54 @@
+/* Initialization of libc after dlmopen/dlclose/dlmopen (bug 29528). Main.
+ Copyright (C) 2022 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
@@ -534,18 +585,38 @@ index 0000000000..449f3c8fa9
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
-+#include <support/xdlfcn.h>
++#include <stdio.h>
+#include <support/check.h>
++#include <support/xdlfcn.h>
+
-+static int
-+do_test (void)
++/* Run the test multiple times, to check finding a new namespace while
++ another namespace is already in use. This used to trigger bug 29600. */
++static void
++recurse (int depth)
+{
-+ void *handle = xdlmopen (LM_ID_NEWLM, "tst-dlmopen-twice-mod1.so", RTLD_NOW);
++ if (depth == 0)
++ return;
++
++ printf ("info: running at depth %d\n", depth);
++ void *handle = xdlmopen (LM_ID_NEWLM, "tst-dlmopen-twice-mod1.so",
++ RTLD_NOW);
+ xdlclose (handle);
+ handle = xdlmopen (LM_ID_NEWLM, "tst-dlmopen-twice-mod2.so", RTLD_NOW);
+ int (*run_check) (void) = xdlsym (handle, "run_check");
+ TEST_COMPARE (run_check (), 0);
++ recurse (depth - 1);
+ xdlclose (handle);
++}
++
++static int
++do_test (void)
++{
++ /* First run the test without nesting. */
++ recurse (1);
++
++ /* Then with nesting. The constant needs to be less than the
++ internal DL_NNS namespace constant. */
++ recurse (10);
+ return 0;
+}
+
@@ -1069,6 +1140,32 @@ index e550d15796..3560b518a2 100644
return 0;
}
+diff --git a/nscd/aicache.c b/nscd/aicache.c
+index 51e793199f..e0baed170b 100644
+--- a/nscd/aicache.c
++++ b/nscd/aicache.c
+@@ -110,11 +110,10 @@ addhstaiX (struct database_dyn *db, int fd, request_header *req,
+ "gethostbyname4_r");
+ if (fct4 != NULL)
+ {
+- struct gaih_addrtuple atmem;
+ struct gaih_addrtuple *at;
+ while (1)
+ {
+- at = &atmem;
++ at = NULL;
+ rc6 = 0;
+ herrno = 0;
+ status[1] = DL_CALL_FCT (fct4, (key, &at,
+@@ -137,7 +136,7 @@ addhstaiX (struct database_dyn *db, int fd, request_header *req,
+ goto next_nip;
+
+ /* We found the data. Count the addresses and the size. */
+- for (const struct gaih_addrtuple *at2 = at = &atmem; at2 != NULL;
++ for (const struct gaih_addrtuple *at2 = at; at2 != NULL;
+ at2 = at2->next)
+ {
+ ++naddrs;
diff --git a/nscd/connections.c b/nscd/connections.c
index 61d1674eb4..531d2e83df 100644
--- a/nscd/connections.c
@@ -1083,6 +1180,107 @@ index 61d1674eb4..531d2e83df 100644
}
# endif
else
+diff --git a/nss/getent.c b/nss/getent.c
+index 8178b4b470..d2d2524b0c 100644
+--- a/nss/getent.c
++++ b/nss/getent.c
+@@ -58,6 +58,8 @@ static const struct argp_option args_options[] =
+ {
+ { "service", 's', N_("CONFIG"), 0, N_("Service configuration to be used") },
+ { "no-idn", 'i', NULL, 0, N_("disable IDN encoding") },
++ { "no-addrconfig", 'A', NULL, 0,
++ N_("do not filter out unsupported IPv4/IPv6 addresses (with ahosts*)") },
+ { NULL, 0, NULL, 0, NULL },
+ };
+
+@@ -79,6 +81,9 @@ static struct argp argp =
+ /* Additional getaddrinfo flags for IDN encoding. */
+ static int idn_flags = AI_IDN | AI_CANONIDN;
+
++/* Set to 0 by --no-addrconfig. */
++static int addrconfig_flags = AI_ADDRCONFIG;
++
+ /* Print the version information. */
+ static void
+ print_version (FILE *stream, struct argp_state *state)
+@@ -346,7 +351,7 @@ ahosts_keys_int (int af, int xflags, int number, char *key[])
+
+ struct addrinfo hint;
+ memset (&hint, '\0', sizeof (hint));
+- hint.ai_flags = (AI_V4MAPPED | AI_ADDRCONFIG | AI_CANONNAME
++ hint.ai_flags = (AI_V4MAPPED | addrconfig_flags | AI_CANONNAME
+ | idn_flags | xflags);
+ hint.ai_family = af;
+
+@@ -905,6 +910,10 @@ parse_option (int key, char *arg, struct argp_state *state)
+ idn_flags = 0;
+ break;
+
++ case 'A':
++ addrconfig_flags = 0;
++ break;
++
+ default:
+ return ARGP_ERR_UNKNOWN;
+ }
+diff --git a/nss/tst-nss-files-hosts-long.c b/nss/tst-nss-files-hosts-long.c
+index 3942cf5fca..a7697e3143 100644
+--- a/nss/tst-nss-files-hosts-long.c
++++ b/nss/tst-nss-files-hosts-long.c
+@@ -28,14 +28,15 @@ do_test (void)
+ {
+ int ret;
+
+- /* Run getent to fetch the IPv4 address for host test4.
+- This forces /etc/hosts to be parsed. */
+- ret = system("getent ahostsv4 test4");
++ /* Run getent to fetch the IPv4 address for host test4. This forces
++ /etc/hosts to be parsed. Use --no-addrconfig to return addresses
++ even in an IPv6-only environment. */
++ ret = system("getent --no-addrconfig ahostsv4 test4");
+ if (ret != 0)
+ FAIL_EXIT1("ahostsv4 failed");
+
+ /* Likewise for IPv6. */
+- ret = system("getent ahostsv6 test6");
++ ret = system("getent --no-addrconfig ahostsv6 test6");
+ if (ret != 0)
+ FAIL_EXIT1("ahostsv6 failed");
+
+diff --git a/nss/tst-reload1.c b/nss/tst-reload1.c
+index fdc5bdd65b..bc32bb132a 100644
+--- a/nss/tst-reload1.c
++++ b/nss/tst-reload1.c
+@@ -43,12 +43,12 @@ static struct passwd pwd_table_1[] = {
+
+ static const char *hostaddr_5[] =
+ {
+- "ABCD", "abcd", "1234", NULL
++ "ABCd", "ABCD", "ABC4", NULL
+ };
+
+ static const char *hostaddr_15[] =
+ {
+- "4321", "ghij", NULL
++ "4321", "4322", NULL
+ };
+
+ static const char *hostaddr_25[] =
+@@ -86,12 +86,12 @@ static const char *hostaddr_6[] =
+
+ static const char *hostaddr_16[] =
+ {
+- "7890", "a1b2", NULL
++ "7890", "7891", NULL
+ };
+
+ static const char *hostaddr_26[] =
+ {
+- "qwer", "tyui", NULL
++ "qwer", "qweR", NULL
+ };
+
+ static struct hostent host_table_2[] = {
diff --git a/resolv/Makefile b/resolv/Makefile
index 5b15321f9b..f8a92c6cff 100644
--- a/resolv/Makefile
@@ -4826,6 +5024,29 @@ index e417ef624d..960a38f295 100644
int fd;
if (n == 0)
+diff --git a/stdlib/longlong.h b/stdlib/longlong.h
+index 9b89469ac2..d8f76a43b5 100644
+--- a/stdlib/longlong.h
++++ b/stdlib/longlong.h
+@@ -593,6 +593,18 @@ extern UDItype __umulsidi3 (USItype, USItype);
+ #define UMUL_TIME 14
+ #endif
+
++#ifdef __loongarch__
++# if W_TYPE_SIZE == 32
++# define count_leading_zeros(count, x) ((count) = __builtin_clz (x))
++# define count_trailing_zeros(count, x) ((count) = __builtin_ctz (x))
++# define COUNT_LEADING_ZEROS_0 32
++# elif W_TYPE_SIZE == 64
++# define count_leading_zeros(count, x) ((count) = __builtin_clzll (x))
++# define count_trailing_zeros(count, x) ((count) = __builtin_ctzll (x))
++# define COUNT_LEADING_ZEROS_0 64
++# endif
++#endif
++
+ #if defined (__M32R__) && W_TYPE_SIZE == 32
+ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ /* The cmp clears the condition bit. */ \
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index 050a3032de..6b256b8388 100644
--- a/sysdeps/generic/ldsodefs.h
@@ -4875,6 +5096,145 @@ index 0000000000..4713b30a8a
+#define __LIBC_LOCK_ALIGNMENT
+
+#endif
+diff --git a/sysdeps/hppa/dl-machine.h b/sysdeps/hppa/dl-machine.h
+index c865713be1..1d51948566 100644
+--- a/sysdeps/hppa/dl-machine.h
++++ b/sysdeps/hppa/dl-machine.h
+@@ -347,6 +347,16 @@ elf_machine_runtime_setup (struct link_map *l, struct r_scope_elem *scope[],
+ its return value is the user program's entry point. */
+
+ #define RTLD_START \
++/* Set up dp for any non-PIC lib constructors that may be called. */ \
++static struct link_map * __attribute__((used)) \
++set_dp (struct link_map *map) \
++{ \
++ register Elf32_Addr dp asm ("%r27"); \
++ dp = D_PTR (map, l_info[DT_PLTGOT]); \
++ asm volatile ("" : : "r" (dp)); \
++ return map; \
++} \
++ \
+ asm ( \
+ " .text\n" \
+ " .globl _start\n" \
+@@ -426,6 +436,13 @@ asm ( \
+ direct loader invocation. Thus, argc and argv must be \
+ reloaded from from _dl_argc and _dl_argv. */ \
+ \
++ /* Load main_map from _rtld_local and setup dp. */ \
++" addil LT'_rtld_local,%r19\n" \
++" ldw RT'_rtld_local(%r1),%r26\n" \
++" bl set_dp, %r2\n" \
++" ldw 0(%r26),%r26\n" \
++" copy %ret0,%r26\n" \
++ \
+ /* Load argc from _dl_argc. */ \
+ " addil LT'_dl_argc,%r19\n" \
+ " ldw RT'_dl_argc(%r1),%r20\n" \
+@@ -438,13 +455,10 @@ asm ( \
+ " ldw 0(%r20),%r24\n" \
+ " stw %r24,-44(%sp)\n" \
+ \
+- /* Call _dl_init(main_map, argc, argv, envp). */ \
+-" addil LT'_rtld_local,%r19\n" \
+-" ldw RT'_rtld_local(%r1),%r26\n" \
+-" ldw 0(%r26),%r26\n" \
+- \
+ /* envp = argv + argc + 1 */ \
+ " sh2add %r25,%r24,%r23\n" \
++ \
++ /* Call _dl_init(main_map, argc, argv, envp). */ \
+ " bl _dl_init,%r2\n" \
+ " ldo 4(%r23),%r23\n" /* delay slot */ \
+ \
+diff --git a/sysdeps/ieee754/ldbl-128/e_j1l.c b/sysdeps/ieee754/ldbl-128/e_j1l.c
+index 54c457681a..9a9c5c6f00 100644
+--- a/sysdeps/ieee754/ldbl-128/e_j1l.c
++++ b/sysdeps/ieee754/ldbl-128/e_j1l.c
+@@ -869,10 +869,13 @@ __ieee754_y1l (_Float128 x)
+ {
+ /* 0 <= x <= 2 */
+ SET_RESTORE_ROUNDL (FE_TONEAREST);
++ xx = math_opt_barrier (xx);
++ x = math_opt_barrier (x);
+ z = xx * xx;
+ p = xx * neval (z, Y0_2N, NY0_2N) / deval (z, Y0_2D, NY0_2D);
+ p = -TWOOPI / xx + p;
+ p = TWOOPI * __ieee754_logl (x) * __ieee754_j1l (x) + p;
++ math_force_eval (p);
+ return p;
+ }
+
+diff --git a/sysdeps/ieee754/ldbl-128ibm/e_j1l.c b/sysdeps/ieee754/ldbl-128ibm/e_j1l.c
+index f85ba94466..0a5fe68342 100644
+--- a/sysdeps/ieee754/ldbl-128ibm/e_j1l.c
++++ b/sysdeps/ieee754/ldbl-128ibm/e_j1l.c
+@@ -792,10 +792,13 @@ __ieee754_y1l (long double x)
+ {
+ /* 0 <= x <= 2 */
+ SET_RESTORE_ROUNDL (FE_TONEAREST);
++ xx = math_opt_barrier (xx);
++ x = math_opt_barrier (x);
+ z = xx * xx;
+ p = xx * neval (z, Y0_2N, NY0_2N) / deval (z, Y0_2D, NY0_2D);
+ p = -TWOOPI / xx + p;
+ p = TWOOPI * __ieee754_logl (x) * __ieee754_j1l (x) + p;
++ math_force_eval (p);
+ return p;
+ }
+
+diff --git a/sysdeps/ieee754/ldbl-128ibm/s_llroundl.c b/sysdeps/ieee754/ldbl-128ibm/s_llroundl.c
+index d85154e73a..d8c0de1faf 100644
+--- a/sysdeps/ieee754/ldbl-128ibm/s_llroundl.c
++++ b/sysdeps/ieee754/ldbl-128ibm/s_llroundl.c
+@@ -66,38 +66,35 @@ __llroundl (long double x)
+ /* Peg at max/min values, assuming that the above conversions do so.
+ Strictly speaking, we can return anything for values that overflow,
+ but this is more useful. */
+- res = hi + lo;
+-
+- /* This is just sign(hi) == sign(lo) && sign(res) != sign(hi). */
+- if (__glibc_unlikely (((~(hi ^ lo) & (res ^ hi)) < 0)))
++ if (__glibc_unlikely (__builtin_add_overflow (hi, lo, &res)))
+ goto overflow;
+
+ xh -= lo;
+ ldbl_canonicalize (&xh, &xl);
+
+- hi = res;
+ if (xh > 0.5)
+ {
+- res += 1;
++ if (__glibc_unlikely (__builtin_add_overflow (res, 1, &res)))
++ goto overflow;
+ }
+ else if (xh == 0.5)
+ {
+ if (xl > 0.0 || (xl == 0.0 && res >= 0))
+- res += 1;
++ if (__glibc_unlikely (__builtin_add_overflow (res, 1, &res)))
++ goto overflow;
+ }
+ else if (-xh > 0.5)
+ {
+- res -= 1;
++ if (__glibc_unlikely (__builtin_add_overflow (res, -1, &res)))
++ goto overflow;
+ }
+ else if (-xh == 0.5)
+ {
+ if (xl < 0.0 || (xl == 0.0 && res <= 0))
+- res -= 1;
++ if (__glibc_unlikely (__builtin_add_overflow (res, -1, &res)))
++ goto overflow;
+ }
+
+- if (__glibc_unlikely (((~(hi ^ (res - hi)) & (res ^ hi)) < 0)))
+- goto overflow;
+-
+ return res;
+ }
+ else
diff --git a/sysdeps/mach/hurd/bits/socket.h b/sysdeps/mach/hurd/bits/socket.h
index 5b35ea81ec..70fce4fb27 100644
--- a/sysdeps/mach/hurd/bits/socket.h
@@ -5034,6 +5394,151 @@ index b8088cf13f..0b851b6c86 100644
+ result = INTERNAL_SYSCALL_CALL (brk, 0);
+ return (void *) result;
}
+diff --git a/sysdeps/unix/sysv/linux/arm/bits/struct_stat.h b/sysdeps/unix/sysv/linux/arm/bits/struct_stat.h
+new file mode 100644
+index 0000000000..30ee6279d2
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/arm/bits/struct_stat.h
+@@ -0,0 +1,139 @@
++/* Definition for struct stat. Linux/arm version.
++ Copyright (C) 2020-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/>. */
++
++#if !defined _SYS_STAT_H && !defined _FCNTL_H
++# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
++#endif
++
++#ifndef _BITS_STRUCT_STAT_H
++#define _BITS_STRUCT_STAT_H 1
++
++#include <bits/endian.h>
++#include <bits/wordsize.h>
++
++struct stat
++ {
++#ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++#else
++ __dev_t st_dev; /* Device. */
++ unsigned short int __pad1;
++# ifndef __USE_FILE_OFFSET64
++ __ino_t st_ino; /* File serial number. */
++# else
++ __ino_t __st_ino; /* 32bit file serial number. */
++# endif
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ unsigned short int __pad2;
++# ifndef __USE_FILE_OFFSET64
++ __off_t st_size; /* Size of file, in bytes. */
++# else
++ __off64_t st_size; /* Size of file, in bytes. */
++# endif
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++
++# ifndef __USE_FILE_OFFSET64
++ __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
++# else
++ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
++# endif
++# ifdef __USE_XOPEN2K8
++ /* Nanosecond resolution timestamps are stored in a format
++ equivalent to 'struct timespec'. This is the type used
++ whenever possible but the Unix namespace rules do not allow the
++ identifier 'timespec' to appear in the <sys/stat.h> header.
++ Therefore we have to handle the use of this header in strictly
++ standard-compliant sources special. */
++ struct timespec st_atim; /* Time of last access. */
++ struct timespec st_mtim; /* Time of last modification. */
++ struct timespec st_ctim; /* Time of last status change. */
++# define st_atime st_atim.tv_sec /* Backward compatibility. */
++# define st_mtime st_mtim.tv_sec
++# define st_ctime st_ctim.tv_sec
++# else
++ __time_t st_atime; /* Time of last access. */
++ unsigned long int st_atimensec; /* Nscecs of last access. */
++ __time_t st_mtime; /* Time of last modification. */
++ unsigned long int st_mtimensec; /* Nsecs of last modification. */
++ __time_t st_ctime; /* Time of last status change. */
++ unsigned long int st_ctimensec; /* Nsecs of last status change. */
++# endif
++# ifndef __USE_FILE_OFFSET64
++ unsigned long int __glibc_reserved4;
++ unsigned long int __glibc_reserved5;
++# else
++ __ino64_t st_ino; /* File serial number. */
++# endif
++#endif /* __USE_TIME_BITS64 */
++ };
++
++#ifdef __USE_LARGEFILE64
++struct stat64
++ {
++# ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++# else
++ __dev_t st_dev; /* Device. */
++ unsigned int __pad1;
++
++ __ino_t __st_ino; /* 32bit file serial number. */
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ unsigned int __pad2;
++ __off64_t st_size; /* Size of file, in bytes. */
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++
++ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
++# ifdef __USE_XOPEN2K8
++ /* Nanosecond resolution timestamps are stored in a format
++ equivalent to 'struct timespec'. This is the type used
++ whenever possible but the Unix namespace rules do not allow the
++ identifier 'timespec' to appear in the <sys/stat.h> header.
++ Therefore we have to handle the use of this header in strictly
++ standard-compliant sources special. */
++ struct timespec st_atim; /* Time of last access. */
++ struct timespec st_mtim; /* Time of last modification. */
++ struct timespec st_ctim; /* Time of last status change. */
++# else
++ __time_t st_atime; /* Time of last access. */
++ unsigned long int st_atimensec; /* Nscecs of last access. */
++ __time_t st_mtime; /* Time of last modification. */
++ unsigned long int st_mtimensec; /* Nsecs of last modification. */
++ __time_t st_ctime; /* Time of last status change. */
++ unsigned long int st_ctimensec; /* Nsecs of last status change. */
++# endif
++ __ino64_t st_ino; /* File serial number. */
++# endif /* __USE_TIME_BITS64 */
++ };
++#endif
++
++/* Tell code we have these members. */
++#define _STATBUF_ST_BLKSIZE
++#define _STATBUF_ST_RDEV
++/* Nanosecond resolution time values are supported. */
++#define _STATBUF_ST_NSEC
++
++
++#endif /* _BITS_STRUCT_STAT_H */
diff --git a/sysdeps/unix/sysv/linux/bits/socket.h b/sysdeps/unix/sysv/linux/bits/socket.h
index 4f1f810ea1..539b8d7716 100644
--- a/sysdeps/unix/sysv/linux/bits/socket.h
@@ -5097,6 +5602,171 @@ index 4f1f810ea1..539b8d7716 100644
return __cmsg;
}
#endif /* Use `extern inline'. */
+diff --git a/sysdeps/unix/sysv/linux/bits/struct_stat.h b/sysdeps/unix/sysv/linux/bits/struct_stat.h
+index 25bd6cb638..fb11a3fba4 100644
+--- a/sysdeps/unix/sysv/linux/bits/struct_stat.h
++++ b/sysdeps/unix/sysv/linux/bits/struct_stat.h
+@@ -26,37 +26,36 @@
+ #include <bits/endian.h>
+ #include <bits/wordsize.h>
+
+-struct stat
+- {
+-#ifdef __USE_TIME_BITS64
+-# include <bits/struct_stat_time64_helper.h>
+-#else
+- __dev_t st_dev; /* Device. */
+- unsigned short int __pad1;
+-# ifndef __USE_FILE_OFFSET64
+- __ino_t st_ino; /* File serial number. */
+-# else
+- __ino_t __st_ino; /* 32bit file serial number. */
++#if defined __USE_FILE_OFFSET64
++# define __field64(type, type64, name) type64 name
++#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T
++# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T
++# error "ino_t and off_t must both be the same type"
+ # endif
+- __mode_t st_mode; /* File mode. */
+- __nlink_t st_nlink; /* Link count. */
+- __uid_t st_uid; /* User ID of the file's owner. */
+- __gid_t st_gid; /* Group ID of the file's group.*/
+- __dev_t st_rdev; /* Device number, if device. */
+- unsigned short int __pad2;
+-# ifndef __USE_FILE_OFFSET64
+- __off_t st_size; /* Size of file, in bytes. */
+-# else
+- __off64_t st_size; /* Size of file, in bytes. */
+-# endif
+- __blksize_t st_blksize; /* Optimal block size for I/O. */
++# define __field64(type, type64, name) type name
++#elif __BYTE_ORDER == __LITTLE_ENDIAN
++# define __field64(type, type64, name) \
++ type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
++#else
++# define __field64(type, type64, name) \
++ int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
++#endif
+
+-# ifndef __USE_FILE_OFFSET64
+- __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
+-# else
+- __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
+-# endif
+-# ifdef __USE_XOPEN2K8
++struct stat
++ {
++ __dev_t st_dev; /* Device. */
++ __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ __dev_t __pad1;
++ __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++ int __pad2;
++ __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */
++#ifdef __USE_XOPEN2K8
+ /* Nanosecond resolution timestamps are stored in a format
+ equivalent to 'struct timespec'. This is the type used
+ whenever possible but the Unix namespace rules do not allow the
+@@ -66,47 +65,38 @@ struct stat
+ struct timespec st_atim; /* Time of last access. */
+ struct timespec st_mtim; /* Time of last modification. */
+ struct timespec st_ctim; /* Time of last status change. */
+-# define st_atime st_atim.tv_sec /* Backward compatibility. */
+-# define st_mtime st_mtim.tv_sec
+-# define st_ctime st_ctim.tv_sec
+-# else
++# define st_atime st_atim.tv_sec /* Backward compatibility. */
++# define st_mtime st_mtim.tv_sec
++# define st_ctime st_ctim.tv_sec
++#else
+ __time_t st_atime; /* Time of last access. */
+ unsigned long int st_atimensec; /* Nscecs of last access. */
+ __time_t st_mtime; /* Time of last modification. */
+ unsigned long int st_mtimensec; /* Nsecs of last modification. */
+ __time_t st_ctime; /* Time of last status change. */
+ unsigned long int st_ctimensec; /* Nsecs of last status change. */
+-# endif
+-# ifndef __USE_FILE_OFFSET64
+- unsigned long int __glibc_reserved4;
+- unsigned long int __glibc_reserved5;
+-# else
+- __ino64_t st_ino; /* File serial number. */
+-# endif
+-#endif /* __USE_TIME_BITS64 */
++#endif
++ int __glibc_reserved[2];
+ };
+
++#undef __field64
++
+ #ifdef __USE_LARGEFILE64
+ struct stat64
+ {
+-# ifdef __USE_TIME_BITS64
+-# include <bits/struct_stat_time64_helper.h>
+-# else
+- __dev_t st_dev; /* Device. */
+- unsigned int __pad1;
+-
+- __ino_t __st_ino; /* 32bit file serial number. */
+- __mode_t st_mode; /* File mode. */
+- __nlink_t st_nlink; /* Link count. */
+- __uid_t st_uid; /* User ID of the file's owner. */
+- __gid_t st_gid; /* Group ID of the file's group.*/
+- __dev_t st_rdev; /* Device number, if device. */
+- unsigned int __pad2;
+- __off64_t st_size; /* Size of file, in bytes. */
+- __blksize_t st_blksize; /* Optimal block size for I/O. */
+-
+- __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
+-# ifdef __USE_XOPEN2K8
++ __dev_t st_dev; /* Device. */
++ __ino64_t st_ino; /* File serial number. */
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ __dev_t __pad1;
++ __off64_t st_size; /* Size of file, in bytes. */
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++ int __pad2;
++ __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
++#ifdef __USE_XOPEN2K8
+ /* Nanosecond resolution timestamps are stored in a format
+ equivalent to 'struct timespec'. This is the type used
+ whenever possible but the Unix namespace rules do not allow the
+@@ -116,16 +106,15 @@ struct stat64
+ struct timespec st_atim; /* Time of last access. */
+ struct timespec st_mtim; /* Time of last modification. */
+ struct timespec st_ctim; /* Time of last status change. */
+-# else
++#else
+ __time_t st_atime; /* Time of last access. */
+ unsigned long int st_atimensec; /* Nscecs of last access. */
+ __time_t st_mtime; /* Time of last modification. */
+ unsigned long int st_mtimensec; /* Nsecs of last modification. */
+ __time_t st_ctime; /* Time of last status change. */
+ unsigned long int st_ctimensec; /* Nsecs of last status change. */
+-# endif
+- __ino64_t st_ino; /* File serial number. */
+-# endif /* __USE_TIME_BITS64 */
++#endif
++ int __glibc_reserved[2];
+ };
+ #endif
+
+@@ -135,5 +124,4 @@ struct stat64
+ /* Nanosecond resolution time values are supported. */
+ #define _STATBUF_ST_NSEC
+
+-
+ #endif /* _BITS_STRUCT_STAT_H */
diff --git a/sysdeps/unix/sysv/linux/cmsg_nxthdr.c b/sysdeps/unix/sysv/linux/cmsg_nxthdr.c
index 15b7a3a925..24f72b797a 100644
--- a/sysdeps/unix/sysv/linux/cmsg_nxthdr.c
@@ -5148,6 +5818,257 @@ index 15b7a3a925..24f72b797a 100644
return cmsg;
}
libc_hidden_def (__cmsg_nxthdr)
+diff --git a/sysdeps/unix/sysv/linux/generic/bits/struct_stat.h b/sysdeps/unix/sysv/linux/csky/bits/struct_stat.h
+similarity index 92%
+rename from sysdeps/unix/sysv/linux/generic/bits/struct_stat.h
+rename to sysdeps/unix/sysv/linux/csky/bits/struct_stat.h
+index fb11a3fba4..f0ee455748 100644
+--- a/sysdeps/unix/sysv/linux/generic/bits/struct_stat.h
++++ b/sysdeps/unix/sysv/linux/csky/bits/struct_stat.h
+@@ -1,4 +1,4 @@
+-/* Definition for struct stat.
++/* Definition for struct stat. Linux/csky version.
+ Copyright (C) 2020-2022 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+@@ -43,6 +43,9 @@
+
+ struct stat
+ {
++#ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++#else
+ __dev_t st_dev; /* Device. */
+ __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */
+ __mode_t st_mode; /* File mode. */
+@@ -55,7 +58,7 @@ struct stat
+ __blksize_t st_blksize; /* Optimal block size for I/O. */
+ int __pad2;
+ __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */
+-#ifdef __USE_XOPEN2K8
++# ifdef __USE_XOPEN2K8
+ /* Nanosecond resolution timestamps are stored in a format
+ equivalent to 'struct timespec'. This is the type used
+ whenever possible but the Unix namespace rules do not allow the
+@@ -65,18 +68,19 @@ struct stat
+ struct timespec st_atim; /* Time of last access. */
+ struct timespec st_mtim; /* Time of last modification. */
+ struct timespec st_ctim; /* Time of last status change. */
+-# define st_atime st_atim.tv_sec /* Backward compatibility. */
+-# define st_mtime st_mtim.tv_sec
+-# define st_ctime st_ctim.tv_sec
+-#else
++# define st_atime st_atim.tv_sec /* Backward compatibility. */
++# define st_mtime st_mtim.tv_sec
++# define st_ctime st_ctim.tv_sec
++# else
+ __time_t st_atime; /* Time of last access. */
+ unsigned long int st_atimensec; /* Nscecs of last access. */
+ __time_t st_mtime; /* Time of last modification. */
+ unsigned long int st_mtimensec; /* Nsecs of last modification. */
+ __time_t st_ctime; /* Time of last status change. */
+ unsigned long int st_ctimensec; /* Nsecs of last status change. */
+-#endif
++# endif
+ int __glibc_reserved[2];
++#endif
+ };
+
+ #undef __field64
+@@ -84,6 +88,9 @@ struct stat
+ #ifdef __USE_LARGEFILE64
+ struct stat64
+ {
++# ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++# else
+ __dev_t st_dev; /* Device. */
+ __ino64_t st_ino; /* File serial number. */
+ __mode_t st_mode; /* File mode. */
+@@ -96,7 +103,7 @@ struct stat64
+ __blksize_t st_blksize; /* Optimal block size for I/O. */
+ int __pad2;
+ __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
+-#ifdef __USE_XOPEN2K8
++# ifdef __USE_XOPEN2K8
+ /* Nanosecond resolution timestamps are stored in a format
+ equivalent to 'struct timespec'. This is the type used
+ whenever possible but the Unix namespace rules do not allow the
+@@ -106,15 +113,16 @@ struct stat64
+ struct timespec st_atim; /* Time of last access. */
+ struct timespec st_mtim; /* Time of last modification. */
+ struct timespec st_ctim; /* Time of last status change. */
+-#else
++# else
+ __time_t st_atime; /* Time of last access. */
+ unsigned long int st_atimensec; /* Nscecs of last access. */
+ __time_t st_mtime; /* Time of last modification. */
+ unsigned long int st_mtimensec; /* Nsecs of last modification. */
+ __time_t st_ctime; /* Time of last status change. */
+ unsigned long int st_ctimensec; /* Nsecs of last status change. */
+-#endif
++# endif
+ int __glibc_reserved[2];
++# endif
+ };
+ #endif
+
+diff --git a/sysdeps/unix/sysv/linux/hppa/bits/struct_stat.h b/sysdeps/unix/sysv/linux/hppa/bits/struct_stat.h
+new file mode 100644
+index 0000000000..38b6e13e68
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/hppa/bits/struct_stat.h
+@@ -0,0 +1,139 @@
++/* Definition for struct stat. Linux/hppa version.
++ Copyright (C) 2020-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/>. */
++
++#if !defined _SYS_STAT_H && !defined _FCNTL_H
++# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
++#endif
++
++#ifndef _BITS_STRUCT_STAT_H
++#define _BITS_STRUCT_STAT_H 1
++
++#include <bits/endian.h>
++#include <bits/wordsize.h>
++
++struct stat
++ {
++#ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++#else
++ __dev_t st_dev; /* Device. */
++ unsigned short int __pad1;
++# ifndef __USE_FILE_OFFSET64
++ __ino_t st_ino; /* File serial number. */
++# else
++ __ino_t __st_ino; /* 32bit file serial number. */
++# endif
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ unsigned short int __pad2;
++# ifndef __USE_FILE_OFFSET64
++ __off_t st_size; /* Size of file, in bytes. */
++# else
++ __off64_t st_size; /* Size of file, in bytes. */
++# endif
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++
++# ifndef __USE_FILE_OFFSET64
++ __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
++# else
++ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
++# endif
++# ifdef __USE_XOPEN2K8
++ /* Nanosecond resolution timestamps are stored in a format
++ equivalent to 'struct timespec'. This is the type used
++ whenever possible but the Unix namespace rules do not allow the
++ identifier 'timespec' to appear in the <sys/stat.h> header.
++ Therefore we have to handle the use of this header in strictly
++ standard-compliant sources special. */
++ struct timespec st_atim; /* Time of last access. */
++ struct timespec st_mtim; /* Time of last modification. */
++ struct timespec st_ctim; /* Time of last status change. */
++# define st_atime st_atim.tv_sec /* Backward compatibility. */
++# define st_mtime st_mtim.tv_sec
++# define st_ctime st_ctim.tv_sec
++# else
++ __time_t st_atime; /* Time of last access. */
++ unsigned long int st_atimensec; /* Nscecs of last access. */
++ __time_t st_mtime; /* Time of last modification. */
++ unsigned long int st_mtimensec; /* Nsecs of last modification. */
++ __time_t st_ctime; /* Time of last status change. */
++ unsigned long int st_ctimensec; /* Nsecs of last status change. */
++# endif
++# ifndef __USE_FILE_OFFSET64
++ unsigned long int __glibc_reserved4;
++ unsigned long int __glibc_reserved5;
++# else
++ __ino64_t st_ino; /* File serial number. */
++# endif
++#endif /* __USE_TIME_BITS64 */
++ };
++
++#ifdef __USE_LARGEFILE64
++struct stat64
++ {
++# ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++# else
++ __dev_t st_dev; /* Device. */
++ unsigned int __pad1;
++
++ __ino_t __st_ino; /* 32bit file serial number. */
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ unsigned int __pad2;
++ __off64_t st_size; /* Size of file, in bytes. */
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++
++ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
++# ifdef __USE_XOPEN2K8
++ /* Nanosecond resolution timestamps are stored in a format
++ equivalent to 'struct timespec'. This is the type used
++ whenever possible but the Unix namespace rules do not allow the
++ identifier 'timespec' to appear in the <sys/stat.h> header.
++ Therefore we have to handle the use of this header in strictly
++ standard-compliant sources special. */
++ struct timespec st_atim; /* Time of last access. */
++ struct timespec st_mtim; /* Time of last modification. */
++ struct timespec st_ctim; /* Time of last status change. */
++# else
++ __time_t st_atime; /* Time of last access. */
++ unsigned long int st_atimensec; /* Nscecs of last access. */
++ __time_t st_mtime; /* Time of last modification. */
++ unsigned long int st_mtimensec; /* Nsecs of last modification. */
++ __time_t st_ctime; /* Time of last status change. */
++ unsigned long int st_ctimensec; /* Nsecs of last status change. */
++# endif
++ __ino64_t st_ino; /* File serial number. */
++# endif /* __USE_TIME_BITS64 */
++ };
++#endif
++
++/* Tell code we have these members. */
++#define _STATBUF_ST_BLKSIZE
++#define _STATBUF_ST_RDEV
++/* Nanosecond resolution time values are supported. */
++#define _STATBUF_ST_NSEC
++
++
++#endif /* _BITS_STRUCT_STAT_H */
+diff --git a/sysdeps/unix/sysv/linux/hppa/kernel-features.h b/sysdeps/unix/sysv/linux/hppa/kernel-features.h
+index 0cd21ef0fa..079612e4aa 100644
+--- a/sysdeps/unix/sysv/linux/hppa/kernel-features.h
++++ b/sysdeps/unix/sysv/linux/hppa/kernel-features.h
+@@ -30,3 +30,6 @@
+
+ #undef __ASSUME_CLONE_DEFAULT
+ #define __ASSUME_CLONE_BACKWARDS 1
++
++/* QEMU does not support set_robust_list. */
++#undef __ASSUME_SET_ROBUST_LIST
diff --git a/sysdeps/unix/sysv/linux/m68k/libc-lock-arch.h b/sysdeps/unix/sysv/linux/m68k/libc-lock-arch.h
new file mode 100644
index 0000000000..1844bbaf6f
@@ -5179,6 +6100,204 @@ index 0000000000..1844bbaf6f
+#define __LIBC_LOCK_ALIGNMENT __attribute__ ((__aligned__ (4)))
+
+#endif
+diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/fstatat.c b/sysdeps/unix/sysv/linux/mips/mips64/n64/fstatat.c
+new file mode 100644
+index 0000000000..fe6c3a0dda
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/fstatat.c
+@@ -0,0 +1,51 @@
++/* Get file status. Linux/MIPSn64 version.
++ 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/>. */
++
++#include <sys/stat.h>
++#include <sysdep.h>
++
++/* Different than other ABIs, mips64 has different layouts for non-LFS
++ and LFS struct stat. */
++int
++__fstatat (int fd, const char *file, struct stat *buf, int flag)
++{
++ struct __stat64_t64 st64;
++ int r = __fstatat64_time64 (fd, file, &st64, flag);
++ if (r == 0)
++ {
++ /* Clear internal pad and reserved fields. */
++ memset (buf, 0, sizeof (*buf));
++
++ buf->st_dev = st64.st_dev;
++ buf->st_ino = st64.st_ino;
++ buf->st_mode = st64.st_mode;
++ buf->st_nlink = st64.st_nlink;
++ buf->st_uid = st64.st_uid;
++ buf->st_gid = st64.st_gid;
++ buf->st_rdev = st64.st_rdev;
++ buf->st_size = st64.st_size;
++ buf->st_blksize = st64.st_blksize;
++ buf->st_blocks = st64.st_blocks;
++ buf->st_atim = st64.st_atim;
++ buf->st_mtim = st64.st_mtim;
++ buf->st_ctim = st64.st_ctim;
++ }
++ return r;
++}
++
++weak_alias (__fstatat, fstatat)
+diff --git a/sysdeps/unix/sysv/linux/nios2/bits/struct_stat.h b/sysdeps/unix/sysv/linux/nios2/bits/struct_stat.h
+new file mode 100644
+index 0000000000..e00e71173e
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/nios2/bits/struct_stat.h
+@@ -0,0 +1,135 @@
++/* Definition for struct stat. Linux/nios2 version.
++ Copyright (C) 2020-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/>. */
++
++#if !defined _SYS_STAT_H && !defined _FCNTL_H
++# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
++#endif
++
++#ifndef _BITS_STRUCT_STAT_H
++#define _BITS_STRUCT_STAT_H 1
++
++#include <bits/endian.h>
++#include <bits/wordsize.h>
++
++#if defined __USE_FILE_OFFSET64
++# define __field64(type, type64, name) type64 name
++#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T
++# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T
++# error "ino_t and off_t must both be the same type"
++# endif
++# define __field64(type, type64, name) type name
++#elif __BYTE_ORDER == __LITTLE_ENDIAN
++# define __field64(type, type64, name) \
++ type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
++#else
++# define __field64(type, type64, name) \
++ int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
++#endif
++
++struct stat
++ {
++#ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++#else
++ __dev_t st_dev; /* Device. */
++ __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ __dev_t __pad1;
++ __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++ int __pad2;
++ __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */
++# ifdef __USE_XOPEN2K8
++ /* Nanosecond resolution timestamps are stored in a format
++ equivalent to 'struct timespec'. This is the type used
++ whenever possible but the Unix namespace rules do not allow the
++ identifier 'timespec' to appear in the <sys/stat.h> header.
++ Therefore we have to handle the use of this header in strictly
++ standard-compliant sources special. */
++ struct timespec st_atim; /* Time of last access. */
++ struct timespec st_mtim; /* Time of last modification. */
++ struct timespec st_ctim; /* Time of last status change. */
++# define st_atime st_atim.tv_sec /* Backward compatibility. */
++# define st_mtime st_mtim.tv_sec
++# define st_ctime st_ctim.tv_sec
++# else
++ __time_t st_atime; /* Time of last access. */
++ unsigned long int st_atimensec; /* Nscecs of last access. */
++ __time_t st_mtime; /* Time of last modification. */
++ unsigned long int st_mtimensec; /* Nsecs of last modification. */
++ __time_t st_ctime; /* Time of last status change. */
++ unsigned long int st_ctimensec; /* Nsecs of last status change. */
++# endif
++ int __glibc_reserved[2];
++#endif
++ };
++
++#undef __field64
++
++#ifdef __USE_LARGEFILE64
++struct stat64
++ {
++# ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++# else
++ __dev_t st_dev; /* Device. */
++ __ino64_t st_ino; /* File serial number. */
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ __dev_t __pad1;
++ __off64_t st_size; /* Size of file, in bytes. */
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++ int __pad2;
++ __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
++# ifdef __USE_XOPEN2K8
++ /* Nanosecond resolution timestamps are stored in a format
++ equivalent to 'struct timespec'. This is the type used
++ whenever possible but the Unix namespace rules do not allow the
++ identifier 'timespec' to appear in the <sys/stat.h> header.
++ Therefore we have to handle the use of this header in strictly
++ standard-compliant sources special. */
++ struct timespec st_atim; /* Time of last access. */
++ struct timespec st_mtim; /* Time of last modification. */
++ struct timespec st_ctim; /* Time of last status change. */
++# else
++ __time_t st_atime; /* Time of last access. */
++ unsigned long int st_atimensec; /* Nscecs of last access. */
++ __time_t st_mtime; /* Time of last modification. */
++ unsigned long int st_mtimensec; /* Nsecs of last modification. */
++ __time_t st_ctime; /* Time of last status change. */
++ unsigned long int st_ctimensec; /* Nsecs of last status change. */
++# endif
++ int __glibc_reserved[2];
++# endif
++ };
++#endif
++
++/* Tell code we have these members. */
++#define _STATBUF_ST_BLKSIZE
++#define _STATBUF_ST_RDEV
++/* Nanosecond resolution time values are supported. */
++#define _STATBUF_ST_NSEC
++
++#endif /* _BITS_STRUCT_STAT_H */
diff --git a/sysdeps/unix/sysv/linux/not-cancel.h b/sysdeps/unix/sysv/linux/not-cancel.h
index a263d294b1..cf35c8bfc9 100644
--- a/sysdeps/unix/sysv/linux/not-cancel.h
@@ -5216,6 +6335,151 @@ index d656aedcc2..4e65f337d4 100644
#define __NR_migrate_pages 238
#define __NR_mincore 232
#define __NR_mkdirat 34
+diff --git a/sysdeps/unix/sysv/linux/sh/bits/struct_stat.h b/sysdeps/unix/sysv/linux/sh/bits/struct_stat.h
+new file mode 100644
+index 0000000000..0f7c9cdc89
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/sh/bits/struct_stat.h
+@@ -0,0 +1,139 @@
++/* Definition for struct stat. Linux/sh version.
++ Copyright (C) 2020-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/>. */
++
++#if !defined _SYS_STAT_H && !defined _FCNTL_H
++# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
++#endif
++
++#ifndef _BITS_STRUCT_STAT_H
++#define _BITS_STRUCT_STAT_H 1
++
++#include <bits/endian.h>
++#include <bits/wordsize.h>
++
++struct stat
++ {
++#ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++#else
++ __dev_t st_dev; /* Device. */
++ unsigned short int __pad1;
++# ifndef __USE_FILE_OFFSET64
++ __ino_t st_ino; /* File serial number. */
++# else
++ __ino_t __st_ino; /* 32bit file serial number. */
++# endif
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ unsigned short int __pad2;
++# ifndef __USE_FILE_OFFSET64
++ __off_t st_size; /* Size of file, in bytes. */
++# else
++ __off64_t st_size; /* Size of file, in bytes. */
++# endif
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++
++# ifndef __USE_FILE_OFFSET64
++ __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
++# else
++ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
++# endif
++# ifdef __USE_XOPEN2K8
++ /* Nanosecond resolution timestamps are stored in a format
++ equivalent to 'struct timespec'. This is the type used
++ whenever possible but the Unix namespace rules do not allow the
++ identifier 'timespec' to appear in the <sys/stat.h> header.
++ Therefore we have to handle the use of this header in strictly
++ standard-compliant sources special. */
++ struct timespec st_atim; /* Time of last access. */
++ struct timespec st_mtim; /* Time of last modification. */
++ struct timespec st_ctim; /* Time of last status change. */
++# define st_atime st_atim.tv_sec /* Backward compatibility. */
++# define st_mtime st_mtim.tv_sec
++# define st_ctime st_ctim.tv_sec
++# else
++ __time_t st_atime; /* Time of last access. */
++ unsigned long int st_atimensec; /* Nscecs of last access. */
++ __time_t st_mtime; /* Time of last modification. */
++ unsigned long int st_mtimensec; /* Nsecs of last modification. */
++ __time_t st_ctime; /* Time of last status change. */
++ unsigned long int st_ctimensec; /* Nsecs of last status change. */
++# endif
++# ifndef __USE_FILE_OFFSET64
++ unsigned long int __glibc_reserved4;
++ unsigned long int __glibc_reserved5;
++# else
++ __ino64_t st_ino; /* File serial number. */
++# endif
++#endif /* __USE_TIME_BITS64 */
++ };
++
++#ifdef __USE_LARGEFILE64
++struct stat64
++ {
++# ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++# else
++ __dev_t st_dev; /* Device. */
++ unsigned int __pad1;
++
++ __ino_t __st_ino; /* 32bit file serial number. */
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ unsigned int __pad2;
++ __off64_t st_size; /* Size of file, in bytes. */
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++
++ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
++# ifdef __USE_XOPEN2K8
++ /* Nanosecond resolution timestamps are stored in a format
++ equivalent to 'struct timespec'. This is the type used
++ whenever possible but the Unix namespace rules do not allow the
++ identifier 'timespec' to appear in the <sys/stat.h> header.
++ Therefore we have to handle the use of this header in strictly
++ standard-compliant sources special. */
++ struct timespec st_atim; /* Time of last access. */
++ struct timespec st_mtim; /* Time of last modification. */
++ struct timespec st_ctim; /* Time of last status change. */
++# else
++ __time_t st_atime; /* Time of last access. */
++ unsigned long int st_atimensec; /* Nscecs of last access. */
++ __time_t st_mtime; /* Time of last modification. */
++ unsigned long int st_mtimensec; /* Nsecs of last modification. */
++ __time_t st_ctime; /* Time of last status change. */
++ unsigned long int st_ctimensec; /* Nsecs of last status change. */
++# endif
++ __ino64_t st_ino; /* File serial number. */
++# endif /* __USE_TIME_BITS64 */
++ };
++#endif
++
++/* Tell code we have these members. */
++#define _STATBUF_ST_BLKSIZE
++#define _STATBUF_ST_RDEV
++/* Nanosecond resolution time values are supported. */
++#define _STATBUF_ST_NSEC
++
++
++#endif /* _BITS_STRUCT_STAT_H */
diff --git a/sysdeps/unix/sysv/linux/sys/mount.h b/sysdeps/unix/sysv/linux/sys/mount.h
index f965986ba8..19841d0738 100644
--- a/sysdeps/unix/sysv/linux/sys/mount.h
@@ -5580,6 +6844,344 @@ index 037af22290..5711d1c312 100644
TEST_VERIFY (fd > 0);
char *path = xasprintf ("/proc/%d/fd/%d", pid, remote_fd);
+diff --git a/sysdeps/x86/get-isa-level.h b/sysdeps/x86/get-isa-level.h
+index 1ade78ab73..5b4dd5f062 100644
+--- a/sysdeps/x86/get-isa-level.h
++++ b/sysdeps/x86/get-isa-level.h
+@@ -47,6 +47,8 @@ get_isa_level (const struct cpu_features *cpu_features)
+ isa_level |= GNU_PROPERTY_X86_ISA_1_V2;
+ if (CPU_FEATURE_USABLE_P (cpu_features, AVX)
+ && CPU_FEATURE_USABLE_P (cpu_features, AVX2)
++ && CPU_FEATURE_USABLE_P (cpu_features, BMI1)
++ && CPU_FEATURE_USABLE_P (cpu_features, BMI2)
+ && CPU_FEATURE_USABLE_P (cpu_features, F16C)
+ && CPU_FEATURE_USABLE_P (cpu_features, FMA)
+ && CPU_FEATURE_USABLE_P (cpu_features, LZCNT)
+diff --git a/sysdeps/x86/isa-level.h b/sysdeps/x86/isa-level.h
+index 3c4480aba7..06f6c9663e 100644
+--- a/sysdeps/x86/isa-level.h
++++ b/sysdeps/x86/isa-level.h
+@@ -79,7 +79,9 @@
+ /* ISA level >= 3 guaranteed includes. */
+ #define AVX_X86_ISA_LEVEL 3
+ #define AVX2_X86_ISA_LEVEL 3
++#define BMI1_X86_ISA_LEVEL 3
+ #define BMI2_X86_ISA_LEVEL 3
++#define LZCNT_X86_ISA_LEVEL 3
+ #define MOVBE_X86_ISA_LEVEL 3
+
+ /* ISA level >= 2 guaranteed includes. */
+diff --git a/sysdeps/x86_64/multiarch/ifunc-avx2.h b/sysdeps/x86_64/multiarch/ifunc-avx2.h
+index a57a9952f3..f2f5e8a211 100644
+--- a/sysdeps/x86_64/multiarch/ifunc-avx2.h
++++ b/sysdeps/x86_64/multiarch/ifunc-avx2.h
+@@ -36,7 +36,9 @@ IFUNC_SELECTOR (void)
+ const struct cpu_features *cpu_features = __get_cpu_features ();
+
+ if (X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX2)
++ && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, BMI1)
+ && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, BMI2)
++ && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, LZCNT)
+ && X86_ISA_CPU_FEATURES_ARCH_P (cpu_features,
+ AVX_Fast_Unaligned_Load, ))
+ {
+diff --git a/sysdeps/x86_64/multiarch/ifunc-impl-list.c b/sysdeps/x86_64/multiarch/ifunc-impl-list.c
+index a71444eccb..00a91123d3 100644
+--- a/sysdeps/x86_64/multiarch/ifunc-impl-list.c
++++ b/sysdeps/x86_64/multiarch/ifunc-impl-list.c
+@@ -69,10 +69,12 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ && CPU_FEATURE_USABLE (BMI2)),
+ __memchr_evex_rtm)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, memchr,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __memchr_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, memchr,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __memchr_avx2_rtm)
+ /* ISA V2 wrapper for SSE2 implementation because the SSE2
+@@ -207,13 +209,19 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ IFUNC_IMPL (i, name, memrchr,
+ X86_IFUNC_IMPL_ADD_V4 (array, i, memrchr,
+ (CPU_FEATURE_USABLE (AVX512VL)
+- && CPU_FEATURE_USABLE (AVX512BW)),
++ && CPU_FEATURE_USABLE (AVX512BW)
++ && CPU_FEATURE_USABLE (BMI2)
++ && CPU_FEATURE_USABLE (LZCNT)),
+ __memrchr_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, memrchr,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
++ && CPU_FEATURE_USABLE (LZCNT)),
+ __memrchr_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, memrchr,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
++ && CPU_FEATURE_USABLE (LZCNT)
+ && CPU_FEATURE_USABLE (RTM)),
+ __memrchr_avx2_rtm)
+ /* ISA V2 wrapper for SSE2 implementation because the SSE2
+@@ -335,10 +343,12 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ && CPU_FEATURE_USABLE (BMI2)),
+ __rawmemchr_evex_rtm)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, rawmemchr,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __rawmemchr_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, rawmemchr,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __rawmemchr_avx2_rtm)
+ /* ISA V2 wrapper for SSE2 implementation because the SSE2
+@@ -448,13 +458,16 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ IFUNC_IMPL (i, name, strcasecmp,
+ X86_IFUNC_IMPL_ADD_V4 (array, i, strcasecmp,
+ (CPU_FEATURE_USABLE (AVX512VL)
+- && CPU_FEATURE_USABLE (AVX512BW)),
++ && CPU_FEATURE_USABLE (AVX512BW)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strcasecmp_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strcasecmp,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strcasecmp_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strcasecmp,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __strcasecmp_avx2_rtm)
+ X86_IFUNC_IMPL_ADD_V2 (array, i, strcasecmp,
+@@ -470,13 +483,16 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ IFUNC_IMPL (i, name, strcasecmp_l,
+ X86_IFUNC_IMPL_ADD_V4 (array, i, strcasecmp,
+ (CPU_FEATURE_USABLE (AVX512VL)
+- && CPU_FEATURE_USABLE (AVX512BW)),
++ && CPU_FEATURE_USABLE (AVX512BW)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strcasecmp_l_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strcasecmp,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strcasecmp_l_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strcasecmp,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __strcasecmp_l_avx2_rtm)
+ X86_IFUNC_IMPL_ADD_V2 (array, i, strcasecmp_l,
+@@ -562,13 +578,19 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ IFUNC_IMPL (i, name, strrchr,
+ X86_IFUNC_IMPL_ADD_V4 (array, i, strrchr,
+ (CPU_FEATURE_USABLE (AVX512VL)
+- && CPU_FEATURE_USABLE (AVX512BW)),
++ && CPU_FEATURE_USABLE (AVX512BW)
++ && CPU_FEATURE_USABLE (BMI1)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strrchr_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strrchr,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI1)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strrchr_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strrchr,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI1)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __strrchr_avx2_rtm)
+ /* ISA V2 wrapper for SSE2 implementation because the SSE2
+@@ -585,10 +607,12 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ && CPU_FEATURE_USABLE (BMI2)),
+ __strcmp_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strcmp,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strcmp_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strcmp,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __strcmp_avx2_rtm)
+ X86_IFUNC_IMPL_ADD_V2 (array, i, strcmp,
+@@ -638,13 +662,16 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ IFUNC_IMPL (i, name, strncasecmp,
+ X86_IFUNC_IMPL_ADD_V4 (array, i, strncasecmp,
+ (CPU_FEATURE_USABLE (AVX512VL)
+- && CPU_FEATURE_USABLE (AVX512BW)),
++ && CPU_FEATURE_USABLE (AVX512BW)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strncasecmp_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strncasecmp,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strncasecmp_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strncasecmp,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __strncasecmp_avx2_rtm)
+ X86_IFUNC_IMPL_ADD_V2 (array, i, strncasecmp,
+@@ -660,13 +687,16 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ IFUNC_IMPL (i, name, strncasecmp_l,
+ X86_IFUNC_IMPL_ADD_V4 (array, i, strncasecmp,
+ (CPU_FEATURE_USABLE (AVX512VL)
+- && CPU_FEATURE_USABLE (AVX512BW)),
++ & CPU_FEATURE_USABLE (AVX512BW)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strncasecmp_l_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strncasecmp,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strncasecmp_l_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strncasecmp,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __strncasecmp_l_avx2_rtm)
+ X86_IFUNC_IMPL_ADD_V2 (array, i, strncasecmp_l,
+@@ -773,13 +803,18 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ X86_IFUNC_IMPL_ADD_V4 (array, i, wcsrchr,
+ (CPU_FEATURE_USABLE (AVX512VL)
+ && CPU_FEATURE_USABLE (AVX512BW)
++ && CPU_FEATURE_USABLE (BMI1)
+ && CPU_FEATURE_USABLE (BMI2)),
+ __wcsrchr_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, wcsrchr,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI1)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __wcsrchr_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, wcsrchr,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI1)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __wcsrchr_avx2_rtm)
+ /* ISA V2 wrapper for SSE2 implementation because the SSE2
+@@ -796,10 +831,12 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ && CPU_FEATURE_USABLE (BMI2)),
+ __wcscmp_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, wcscmp,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __wcscmp_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, wcscmp,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __wcscmp_avx2_rtm)
+ /* ISA V2 wrapper for SSE2 implementation because the SSE2
+@@ -816,10 +853,12 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ && CPU_FEATURE_USABLE (BMI2)),
+ __wcsncmp_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, wcsncmp,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __wcsncmp_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, wcsncmp,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __wcsncmp_avx2_rtm)
+ /* ISA V2 wrapper for GENERIC implementation because the
+@@ -909,10 +948,12 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ && CPU_FEATURE_USABLE (BMI2)),
+ __wmemchr_evex_rtm)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, wmemchr,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __wmemchr_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, wmemchr,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __wmemchr_avx2_rtm)
+ /* ISA V2 wrapper for SSE2 implementation because the SSE2
+@@ -1162,13 +1203,16 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ IFUNC_IMPL (i, name, strncmp,
+ X86_IFUNC_IMPL_ADD_V4 (array, i, strncmp,
+ (CPU_FEATURE_USABLE (AVX512VL)
+- && CPU_FEATURE_USABLE (AVX512BW)),
++ && CPU_FEATURE_USABLE (AVX512BW)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strncmp_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strncmp,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strncmp_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strncmp,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __strncmp_avx2_rtm)
+ X86_IFUNC_IMPL_ADD_V2 (array, i, strncmp,
+diff --git a/sysdeps/x86_64/multiarch/ifunc-strcasecmp.h b/sysdeps/x86_64/multiarch/ifunc-strcasecmp.h
+index 68646ef199..7622af259c 100644
+--- a/sysdeps/x86_64/multiarch/ifunc-strcasecmp.h
++++ b/sysdeps/x86_64/multiarch/ifunc-strcasecmp.h
+@@ -34,6 +34,7 @@ IFUNC_SELECTOR (void)
+ const struct cpu_features *cpu_features = __get_cpu_features ();
+
+ if (X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX2)
++ && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, BMI2)
+ && X86_ISA_CPU_FEATURES_ARCH_P (cpu_features,
+ AVX_Fast_Unaligned_Load, ))
+ {
+diff --git a/sysdeps/x86_64/multiarch/strcmp.c b/sysdeps/x86_64/multiarch/strcmp.c
+index fdd5afe3af..9d6c9f66ba 100644
+--- a/sysdeps/x86_64/multiarch/strcmp.c
++++ b/sysdeps/x86_64/multiarch/strcmp.c
+@@ -45,12 +45,12 @@ IFUNC_SELECTOR (void)
+ const struct cpu_features *cpu_features = __get_cpu_features ();
+
+ if (X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX2)
++ && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, BMI2)
+ && X86_ISA_CPU_FEATURES_ARCH_P (cpu_features,
+ AVX_Fast_Unaligned_Load, ))
+ {
+ if (X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX512VL)
+- && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX512BW)
+- && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, BMI2))
++ && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX512BW))
+ return OPTIMIZE (evex);
+
+ if (CPU_FEATURE_USABLE_P (cpu_features, RTM))
+diff --git a/sysdeps/x86_64/multiarch/strncmp.c b/sysdeps/x86_64/multiarch/strncmp.c
+index 4ebe4bde30..c4f8b6bbb5 100644
+--- a/sysdeps/x86_64/multiarch/strncmp.c
++++ b/sysdeps/x86_64/multiarch/strncmp.c
+@@ -41,12 +41,12 @@ IFUNC_SELECTOR (void)
+ const struct cpu_features *cpu_features = __get_cpu_features ();
+
+ if (X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX2)
++ && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, BMI2)
+ && X86_ISA_CPU_FEATURES_ARCH_P (cpu_features,
+ AVX_Fast_Unaligned_Load, ))
+ {
+ if (X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX512VL)
+- && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX512BW)
+- && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, BMI2))
++ && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX512BW))
+ return OPTIMIZE (evex);
+
+ if (CPU_FEATURE_USABLE_P (cpu_features, RTM))
diff --git a/wcsmbs/Makefile b/wcsmbs/Makefile
index e6b9e8743a..4af102a3f6 100644
--- a/wcsmbs/Makefile
1
0
commit 08e239da458fa7d16a0508f50fd7bdd699cbcd86
Author: Tim Biermann <tbier(a)posteo.de>
Date: Sun Nov 6 15:32:06 2022 +0000
glibc: fix build with make 4.4
diff --git a/glibc/.signature b/glibc/.signature
index b3abdd0a..34cc2da2 100644
--- a/glibc/.signature
+++ b/glibc/.signature
@@ -1,10 +1,11 @@
untrusted comment: verify with /etc/ports/core.pub
-RWRJc1FUaeVeqrmrz2ViAruXlKqsVUyY0s4wOV9V57xNFpcNs0uEx69eoAV6cdIb5CPz4TLUb9cFZHSbf5/zMbyswITGX7cFeAc=
-SHA256 (Pkgfile) = 944636ff0f2c0ba67246d6cd86ebcea5a2a9cb3705c9c00e99e9ddc8017aca99
+RWRJc1FUaeVeqpxv+Tno0pi4fzLop4M/Yw5pQpyH18DBILa9FBTapI9ZgqqUFYeoxqLTmZZ64IQtAMTl4BQBF25iRWragSnydQ4=
+SHA256 (Pkgfile) = 98ee9d177491b6af01069caa33480889a8e4cabfeefbfcbb605bad6cfb4ee305
SHA256 (.footprint) = 9eff4b9e8478995dd0aceacfe9301a250827c8b27cb1d4605c696ac55eec873c
SHA256 (glibc-2.36.tar.xz) = 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75
SHA256 (linux-5.15.55.tar.xz) = 1ef6bd508b6c3af3bef2d5b337e4477254dba284c79e329aa38f9763ae3bfdcc
-SHA256 (glibc-2.36-2.patch) = 4760e63dc0539952673bae08f3380608b53c74c9726e7f3137979f0f776d2a80
+SHA256 (glibc-2.36-3.patch) = 0733042e85defe47019d3f8a31a21015997c78137a876ce97d2e0e64c79e173f
+SHA256 (glibc-2.35-make-4.4-MAKEFLAGS.patch) = 7cfc3e52d840f5fb292e251209731ff83753cc5bf0056df3190ee4cb88ed3278
SHA256 (hosts) = 5c02b256c105f1d4a12fb738d71c1bab9eb126533074d7a0c8a14b92670c9431
SHA256 (resolv.conf) = 72ccb58768a72a771ec37142bc361a18478a07ec9de6e925a20760794389bf51
SHA256 (nsswitch.conf) = 859b8984e5e90aff3cce8f9779996ae4033b280d2122840e9411e2f44a1c2e61
diff --git a/glibc/Pkgfile b/glibc/Pkgfile
index 74cc10b2..a00ca881 100644
--- a/glibc/Pkgfile
+++ b/glibc/Pkgfile
@@ -4,12 +4,13 @@
name=glibc
version=2.36
-release=2
+release=3
_kernel_version=5.15.55
source=(https://ftp.gnu.org/gnu/glibc/glibc-$version.tar.xz
https://www.kernel.org/pub/linux/kernel/v5.x/linux-$_kernel_version.tar.xz
- glibc-$version-2.patch
+ glibc-$version-3.patch
+ glibc-2.35-make-4.4-MAKEFLAGS.patch
hosts resolv.conf nsswitch.conf host.conf ld.so.conf
locale-gen locale.gen.in)
@@ -20,7 +21,8 @@ build() {
make -C $SRC/linux-$_kernel_version INSTALL_HDR_PATH=$PKG/usr headers_install
chown root:root $PKG/usr
- patch -p1 -d $SRC/$name-${version:0:4} -i $SRC/$name-$version-2.patch
+ patch -p1 -d $SRC/$name-${version:0:4} -i $SRC/$name-$version-3.patch
+ patch -p1 -d $SRC/$name-${version:0:4} -i $SRC/glibc-2.35-make-4.4-MAKEFLAGS.patch
mkdir $SRC/build
cd $SRC/build
diff --git a/glibc/glibc-2.35-make-4.4-MAKEFLAGS.patch b/glibc/glibc-2.35-make-4.4-MAKEFLAGS.patch
new file mode 100644
index 00000000..51fbe5f5
--- /dev/null
+++ b/glibc/glibc-2.35-make-4.4-MAKEFLAGS.patch
@@ -0,0 +1,102 @@
+https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=2d7ed98add14f75041499ac189696c9bd3d757fe
+https://bugs.gentoo.org/869263
+
+From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich(a)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(a)gnu.org>
+CC: Siddhesh Poyarekar <siddhesh(a)gotplt.org>
+Signed-off-by: Sergei Trofimovich <slyich(a)gmail.com>
+Reviewed-by: Siddhesh Poyarekar <siddhesh(a)sourceware.org>
+--- 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
+--- 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 :=
+--- 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 :=
diff --git a/glibc/glibc-2.36-2.patch b/glibc/glibc-2.36-3.patch
similarity index 76%
rename from glibc/glibc-2.36-2.patch
rename to glibc/glibc-2.36-3.patch
index b810e453..864fdafd 100644
--- a/glibc/glibc-2.36-2.patch
+++ b/glibc/glibc-2.36-3.patch
@@ -1,13 +1,20 @@
diff --git a/NEWS b/NEWS
-index f61e521fc8..91bcfeb7a6 100644
+index f61e521fc8..e92d547e2c 100644
--- a/NEWS
+++ b/NEWS
-@@ -5,6 +5,31 @@ See the end for copying conditions.
+@@ -5,6 +5,48 @@ See the end for copying conditions.
Please send GNU C library bug reports via <https://sourceware.org/bugzilla/>
using `glibc' in the "product" field.
+Version 2.36.1
+
++Major new features:
++
++* The getent tool now supports the --no-addrconfig option. The output of
++ getent with --no-addrconfig may contain addresses of families not
++ configured on the current host i.e. as-if you had not passed
++ AI_ADDRCONFIG to getaddrinfo calls.
++
+Security related changes:
+
+ CVE-2022-39046: When the syslog function is passed a crafted input
@@ -18,6 +25,7 @@ index f61e521fc8..91bcfeb7a6 100644
+The following bugs are resolved with this release:
+
+ [12154] Do not fail DNS resolution for CNAMEs which are not host names
++ [24816] Fix tst-nss-files-hosts-long on single-stack hosts
+ [28846] CMSG_NXTHDR may trigger -Wstrict-overflow warning
+ [29305] Conserve NSS buffer space during DNS packet parsing
+ [29415] nscd: Fix netlink cache invalidation if epoll is used
@@ -25,11 +33,20 @@ index f61e521fc8..91bcfeb7a6 100644
+ [29446] _dlopen now ignores dl_caller argument in static mode
+ [29485] Linux: Terminate subprocess on late failure in tst-pidfd
+ [29490] alpha: New __brk_call implementation is broken
++ [29463] math/test-float128-y1 fails on x86_64
++ [29488] test-ibm128-llround fails on ppc64el when built with gcc-12 and -O2
++ or higher
+ [29528] elf: Call __libc_early_init for reused namespaces
+ [29537] libc: [2.34 regression]: Alignment issue on m68k when using
+ [29539] libc: LD_TRACE_LOADED_OBJECTS changed how vDSO library are
+ [29583] Use 64-bit interfaces in gconv_parseconfdir
++ [29600] Do not completely clear reused namespace in dlmopen
++ [29607] nscd repeatably crashes calling __strlen_avx2 when hosts cache is
++ enabled
+ [29638] libc: stdlib: arc4random fallback is never used
++ [29657] libc: Incorrect struct stat for 64-bit time on linux/generic
++ platforms
++ [29730] broken y2038 support in fstatat on MIPS N64
+
Version 2.36
@@ -260,30 +277,46 @@ index 6f161f6ad5..92eb53790e 100644
struct r_strlenpair *overall_result
= malloc (*sz * sizeof (*result) + total);
if (overall_result == NULL)
+diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c
+index 4c86dc694e..67fb2e31e2 100644
+--- a/elf/dl-lookup.c
++++ b/elf/dl-lookup.c
+@@ -854,6 +854,23 @@ _dl_lookup_symbol_x (const char *undef_name, struct link_map *undef_map,
+ if (__glibc_unlikely (current_value.m->l_used == 0))
+ current_value.m->l_used = 1;
+
++ if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_BINDINGS))
++ {
++ const char *reference_name = undef_map->l_name;
++
++ _dl_debug_printf ("binding file %s [%lu] to %s [%lu]: %s symbol `%s'",
++ DSO_FILENAME (reference_name),
++ undef_map->l_ns,
++ DSO_FILENAME (current_value.m->l_name),
++ current_value.m->l_ns,
++ protected ? "protected" : "normal", undef_name);
++ if (version)
++ _dl_debug_printf_c (" [%s]\n", version->name);
++ else
++ _dl_debug_printf_c ("\n");
++ }
++
++
+ *ref = current_value.s;
+ return LOOKUP_VALUE (current_value.m);
+ }
diff --git a/elf/dl-open.c b/elf/dl-open.c
-index a23e65926b..46e8066fd8 100644
+index a23e65926b..e7db5e9642 100644
--- a/elf/dl-open.c
+++ b/elf/dl-open.c
-@@ -844,11 +844,14 @@ _dl_open (const char *file, int mode, const void *caller_dlopen, Lmid_t nsid,
- _dl_signal_error (EINVAL, file, NULL, N_("\
- no more namespaces available for dlmopen()"));
+@@ -850,6 +850,7 @@ no more namespaces available for dlmopen()"));
+ ++GL(dl_nns);
}
-- else if (nsid == GL(dl_nns))
-- {
-- __rtld_lock_initialize (GL(dl_ns)[nsid]._ns_unique_sym_table.lock);
-- ++GL(dl_nns);
-- }
-+
-+ if (nsid == GL(dl_nns))
-+ ++GL(dl_nns);
-+
-+ /* Initialize the new namespace. Most members are
-+ zero-initialized, only the lock needs special treatment. */
-+ memset (&GL(dl_ns)[nsid], 0, sizeof (GL(dl_ns)[nsid]));
-+ __rtld_lock_initialize (GL(dl_ns)[nsid]._ns_unique_sym_table.lock);
++ GL(dl_ns)[nsid].libc_map = NULL;
_dl_debug_update (nsid)->r_state = RT_CONSISTENT;
}
+ /* Never allow loading a DSO in a namespace which is empty. Such
diff --git a/elf/dl-sort-maps.c b/elf/dl-sort-maps.c
index 96638d7ed1..3e2a6a584e 100644
--- a/elf/dl-sort-maps.c
@@ -394,6 +427,24 @@ index 5f7f18ef27..4bf9052db1 100644
+tst-bz28937: {+a;+b;-b;+c;%c};a->a1;a->a2;a2->a;b->b1;c->a1;c=>a1
+output(glibc.rtld.dynamic_sort=1): {+a[a2>a1>a>];+b[b1>b>];-b[<b<b1];+c[c>];%c(a1());}<a<a2<c<a1
+output(glibc.rtld.dynamic_sort=2): {+a[a2>a1>a>];+b[b1>b>];-b[<b<b1];+c[c>];%c(a1());}<a2<a<c<a1
+diff --git a/elf/elf.h b/elf/elf.h
+index 02a1b3f52f..014393f3cc 100644
+--- a/elf/elf.h
++++ b/elf/elf.h
+@@ -4085,8 +4085,11 @@ enum
+ #define R_NDS32_TLS_DESC 119
+
+ /* LoongArch ELF Flags */
+-#define EF_LARCH_ABI 0x07
+-#define EF_LARCH_ABI_LP64D 0x03
++#define EF_LARCH_ABI_MODIFIER_MASK 0x07
++#define EF_LARCH_ABI_SOFT_FLOAT 0x01
++#define EF_LARCH_ABI_SINGLE_FLOAT 0x02
++#define EF_LARCH_ABI_DOUBLE_FLOAT 0x03
++#define EF_LARCH_OBJABI_V1 0x40
+
+ /* LoongArch specific dynamic relocations */
+ #define R_LARCH_NONE 0
diff --git a/elf/rtld.c b/elf/rtld.c
index cbbaf4a331..3e771a93d8 100644
--- a/elf/rtld.c
@@ -512,10 +563,10 @@ index 0000000000..40c6c01f96
+}
diff --git a/elf/tst-dlmopen-twice.c b/elf/tst-dlmopen-twice.c
new file mode 100644
-index 0000000000..449f3c8fa9
+index 0000000000..70c71fe19c
--- /dev/null
+++ b/elf/tst-dlmopen-twice.c
-@@ -0,0 +1,34 @@
+@@ -0,0 +1,54 @@
+/* Initialization of libc after dlmopen/dlclose/dlmopen (bug 29528). Main.
+ Copyright (C) 2022 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
@@ -534,18 +585,38 @@ index 0000000000..449f3c8fa9
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
-+#include <support/xdlfcn.h>
++#include <stdio.h>
+#include <support/check.h>
++#include <support/xdlfcn.h>
+
-+static int
-+do_test (void)
++/* Run the test multiple times, to check finding a new namespace while
++ another namespace is already in use. This used to trigger bug 29600. */
++static void
++recurse (int depth)
+{
-+ void *handle = xdlmopen (LM_ID_NEWLM, "tst-dlmopen-twice-mod1.so", RTLD_NOW);
++ if (depth == 0)
++ return;
++
++ printf ("info: running at depth %d\n", depth);
++ void *handle = xdlmopen (LM_ID_NEWLM, "tst-dlmopen-twice-mod1.so",
++ RTLD_NOW);
+ xdlclose (handle);
+ handle = xdlmopen (LM_ID_NEWLM, "tst-dlmopen-twice-mod2.so", RTLD_NOW);
+ int (*run_check) (void) = xdlsym (handle, "run_check");
+ TEST_COMPARE (run_check (), 0);
++ recurse (depth - 1);
+ xdlclose (handle);
++}
++
++static int
++do_test (void)
++{
++ /* First run the test without nesting. */
++ recurse (1);
++
++ /* Then with nesting. The constant needs to be less than the
++ internal DL_NNS namespace constant. */
++ recurse (10);
+ return 0;
+}
+
@@ -1069,6 +1140,32 @@ index e550d15796..3560b518a2 100644
return 0;
}
+diff --git a/nscd/aicache.c b/nscd/aicache.c
+index 51e793199f..e0baed170b 100644
+--- a/nscd/aicache.c
++++ b/nscd/aicache.c
+@@ -110,11 +110,10 @@ addhstaiX (struct database_dyn *db, int fd, request_header *req,
+ "gethostbyname4_r");
+ if (fct4 != NULL)
+ {
+- struct gaih_addrtuple atmem;
+ struct gaih_addrtuple *at;
+ while (1)
+ {
+- at = &atmem;
++ at = NULL;
+ rc6 = 0;
+ herrno = 0;
+ status[1] = DL_CALL_FCT (fct4, (key, &at,
+@@ -137,7 +136,7 @@ addhstaiX (struct database_dyn *db, int fd, request_header *req,
+ goto next_nip;
+
+ /* We found the data. Count the addresses and the size. */
+- for (const struct gaih_addrtuple *at2 = at = &atmem; at2 != NULL;
++ for (const struct gaih_addrtuple *at2 = at; at2 != NULL;
+ at2 = at2->next)
+ {
+ ++naddrs;
diff --git a/nscd/connections.c b/nscd/connections.c
index 61d1674eb4..531d2e83df 100644
--- a/nscd/connections.c
@@ -1083,6 +1180,107 @@ index 61d1674eb4..531d2e83df 100644
}
# endif
else
+diff --git a/nss/getent.c b/nss/getent.c
+index 8178b4b470..d2d2524b0c 100644
+--- a/nss/getent.c
++++ b/nss/getent.c
+@@ -58,6 +58,8 @@ static const struct argp_option args_options[] =
+ {
+ { "service", 's', N_("CONFIG"), 0, N_("Service configuration to be used") },
+ { "no-idn", 'i', NULL, 0, N_("disable IDN encoding") },
++ { "no-addrconfig", 'A', NULL, 0,
++ N_("do not filter out unsupported IPv4/IPv6 addresses (with ahosts*)") },
+ { NULL, 0, NULL, 0, NULL },
+ };
+
+@@ -79,6 +81,9 @@ static struct argp argp =
+ /* Additional getaddrinfo flags for IDN encoding. */
+ static int idn_flags = AI_IDN | AI_CANONIDN;
+
++/* Set to 0 by --no-addrconfig. */
++static int addrconfig_flags = AI_ADDRCONFIG;
++
+ /* Print the version information. */
+ static void
+ print_version (FILE *stream, struct argp_state *state)
+@@ -346,7 +351,7 @@ ahosts_keys_int (int af, int xflags, int number, char *key[])
+
+ struct addrinfo hint;
+ memset (&hint, '\0', sizeof (hint));
+- hint.ai_flags = (AI_V4MAPPED | AI_ADDRCONFIG | AI_CANONNAME
++ hint.ai_flags = (AI_V4MAPPED | addrconfig_flags | AI_CANONNAME
+ | idn_flags | xflags);
+ hint.ai_family = af;
+
+@@ -905,6 +910,10 @@ parse_option (int key, char *arg, struct argp_state *state)
+ idn_flags = 0;
+ break;
+
++ case 'A':
++ addrconfig_flags = 0;
++ break;
++
+ default:
+ return ARGP_ERR_UNKNOWN;
+ }
+diff --git a/nss/tst-nss-files-hosts-long.c b/nss/tst-nss-files-hosts-long.c
+index 3942cf5fca..a7697e3143 100644
+--- a/nss/tst-nss-files-hosts-long.c
++++ b/nss/tst-nss-files-hosts-long.c
+@@ -28,14 +28,15 @@ do_test (void)
+ {
+ int ret;
+
+- /* Run getent to fetch the IPv4 address for host test4.
+- This forces /etc/hosts to be parsed. */
+- ret = system("getent ahostsv4 test4");
++ /* Run getent to fetch the IPv4 address for host test4. This forces
++ /etc/hosts to be parsed. Use --no-addrconfig to return addresses
++ even in an IPv6-only environment. */
++ ret = system("getent --no-addrconfig ahostsv4 test4");
+ if (ret != 0)
+ FAIL_EXIT1("ahostsv4 failed");
+
+ /* Likewise for IPv6. */
+- ret = system("getent ahostsv6 test6");
++ ret = system("getent --no-addrconfig ahostsv6 test6");
+ if (ret != 0)
+ FAIL_EXIT1("ahostsv6 failed");
+
+diff --git a/nss/tst-reload1.c b/nss/tst-reload1.c
+index fdc5bdd65b..bc32bb132a 100644
+--- a/nss/tst-reload1.c
++++ b/nss/tst-reload1.c
+@@ -43,12 +43,12 @@ static struct passwd pwd_table_1[] = {
+
+ static const char *hostaddr_5[] =
+ {
+- "ABCD", "abcd", "1234", NULL
++ "ABCd", "ABCD", "ABC4", NULL
+ };
+
+ static const char *hostaddr_15[] =
+ {
+- "4321", "ghij", NULL
++ "4321", "4322", NULL
+ };
+
+ static const char *hostaddr_25[] =
+@@ -86,12 +86,12 @@ static const char *hostaddr_6[] =
+
+ static const char *hostaddr_16[] =
+ {
+- "7890", "a1b2", NULL
++ "7890", "7891", NULL
+ };
+
+ static const char *hostaddr_26[] =
+ {
+- "qwer", "tyui", NULL
++ "qwer", "qweR", NULL
+ };
+
+ static struct hostent host_table_2[] = {
diff --git a/resolv/Makefile b/resolv/Makefile
index 5b15321f9b..f8a92c6cff 100644
--- a/resolv/Makefile
@@ -4826,6 +5024,29 @@ index e417ef624d..960a38f295 100644
int fd;
if (n == 0)
+diff --git a/stdlib/longlong.h b/stdlib/longlong.h
+index 9b89469ac2..d8f76a43b5 100644
+--- a/stdlib/longlong.h
++++ b/stdlib/longlong.h
+@@ -593,6 +593,18 @@ extern UDItype __umulsidi3 (USItype, USItype);
+ #define UMUL_TIME 14
+ #endif
+
++#ifdef __loongarch__
++# if W_TYPE_SIZE == 32
++# define count_leading_zeros(count, x) ((count) = __builtin_clz (x))
++# define count_trailing_zeros(count, x) ((count) = __builtin_ctz (x))
++# define COUNT_LEADING_ZEROS_0 32
++# elif W_TYPE_SIZE == 64
++# define count_leading_zeros(count, x) ((count) = __builtin_clzll (x))
++# define count_trailing_zeros(count, x) ((count) = __builtin_ctzll (x))
++# define COUNT_LEADING_ZEROS_0 64
++# endif
++#endif
++
+ #if defined (__M32R__) && W_TYPE_SIZE == 32
+ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ /* The cmp clears the condition bit. */ \
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index 050a3032de..6b256b8388 100644
--- a/sysdeps/generic/ldsodefs.h
@@ -4875,6 +5096,145 @@ index 0000000000..4713b30a8a
+#define __LIBC_LOCK_ALIGNMENT
+
+#endif
+diff --git a/sysdeps/hppa/dl-machine.h b/sysdeps/hppa/dl-machine.h
+index c865713be1..1d51948566 100644
+--- a/sysdeps/hppa/dl-machine.h
++++ b/sysdeps/hppa/dl-machine.h
+@@ -347,6 +347,16 @@ elf_machine_runtime_setup (struct link_map *l, struct r_scope_elem *scope[],
+ its return value is the user program's entry point. */
+
+ #define RTLD_START \
++/* Set up dp for any non-PIC lib constructors that may be called. */ \
++static struct link_map * __attribute__((used)) \
++set_dp (struct link_map *map) \
++{ \
++ register Elf32_Addr dp asm ("%r27"); \
++ dp = D_PTR (map, l_info[DT_PLTGOT]); \
++ asm volatile ("" : : "r" (dp)); \
++ return map; \
++} \
++ \
+ asm ( \
+ " .text\n" \
+ " .globl _start\n" \
+@@ -426,6 +436,13 @@ asm ( \
+ direct loader invocation. Thus, argc and argv must be \
+ reloaded from from _dl_argc and _dl_argv. */ \
+ \
++ /* Load main_map from _rtld_local and setup dp. */ \
++" addil LT'_rtld_local,%r19\n" \
++" ldw RT'_rtld_local(%r1),%r26\n" \
++" bl set_dp, %r2\n" \
++" ldw 0(%r26),%r26\n" \
++" copy %ret0,%r26\n" \
++ \
+ /* Load argc from _dl_argc. */ \
+ " addil LT'_dl_argc,%r19\n" \
+ " ldw RT'_dl_argc(%r1),%r20\n" \
+@@ -438,13 +455,10 @@ asm ( \
+ " ldw 0(%r20),%r24\n" \
+ " stw %r24,-44(%sp)\n" \
+ \
+- /* Call _dl_init(main_map, argc, argv, envp). */ \
+-" addil LT'_rtld_local,%r19\n" \
+-" ldw RT'_rtld_local(%r1),%r26\n" \
+-" ldw 0(%r26),%r26\n" \
+- \
+ /* envp = argv + argc + 1 */ \
+ " sh2add %r25,%r24,%r23\n" \
++ \
++ /* Call _dl_init(main_map, argc, argv, envp). */ \
+ " bl _dl_init,%r2\n" \
+ " ldo 4(%r23),%r23\n" /* delay slot */ \
+ \
+diff --git a/sysdeps/ieee754/ldbl-128/e_j1l.c b/sysdeps/ieee754/ldbl-128/e_j1l.c
+index 54c457681a..9a9c5c6f00 100644
+--- a/sysdeps/ieee754/ldbl-128/e_j1l.c
++++ b/sysdeps/ieee754/ldbl-128/e_j1l.c
+@@ -869,10 +869,13 @@ __ieee754_y1l (_Float128 x)
+ {
+ /* 0 <= x <= 2 */
+ SET_RESTORE_ROUNDL (FE_TONEAREST);
++ xx = math_opt_barrier (xx);
++ x = math_opt_barrier (x);
+ z = xx * xx;
+ p = xx * neval (z, Y0_2N, NY0_2N) / deval (z, Y0_2D, NY0_2D);
+ p = -TWOOPI / xx + p;
+ p = TWOOPI * __ieee754_logl (x) * __ieee754_j1l (x) + p;
++ math_force_eval (p);
+ return p;
+ }
+
+diff --git a/sysdeps/ieee754/ldbl-128ibm/e_j1l.c b/sysdeps/ieee754/ldbl-128ibm/e_j1l.c
+index f85ba94466..0a5fe68342 100644
+--- a/sysdeps/ieee754/ldbl-128ibm/e_j1l.c
++++ b/sysdeps/ieee754/ldbl-128ibm/e_j1l.c
+@@ -792,10 +792,13 @@ __ieee754_y1l (long double x)
+ {
+ /* 0 <= x <= 2 */
+ SET_RESTORE_ROUNDL (FE_TONEAREST);
++ xx = math_opt_barrier (xx);
++ x = math_opt_barrier (x);
+ z = xx * xx;
+ p = xx * neval (z, Y0_2N, NY0_2N) / deval (z, Y0_2D, NY0_2D);
+ p = -TWOOPI / xx + p;
+ p = TWOOPI * __ieee754_logl (x) * __ieee754_j1l (x) + p;
++ math_force_eval (p);
+ return p;
+ }
+
+diff --git a/sysdeps/ieee754/ldbl-128ibm/s_llroundl.c b/sysdeps/ieee754/ldbl-128ibm/s_llroundl.c
+index d85154e73a..d8c0de1faf 100644
+--- a/sysdeps/ieee754/ldbl-128ibm/s_llroundl.c
++++ b/sysdeps/ieee754/ldbl-128ibm/s_llroundl.c
+@@ -66,38 +66,35 @@ __llroundl (long double x)
+ /* Peg at max/min values, assuming that the above conversions do so.
+ Strictly speaking, we can return anything for values that overflow,
+ but this is more useful. */
+- res = hi + lo;
+-
+- /* This is just sign(hi) == sign(lo) && sign(res) != sign(hi). */
+- if (__glibc_unlikely (((~(hi ^ lo) & (res ^ hi)) < 0)))
++ if (__glibc_unlikely (__builtin_add_overflow (hi, lo, &res)))
+ goto overflow;
+
+ xh -= lo;
+ ldbl_canonicalize (&xh, &xl);
+
+- hi = res;
+ if (xh > 0.5)
+ {
+- res += 1;
++ if (__glibc_unlikely (__builtin_add_overflow (res, 1, &res)))
++ goto overflow;
+ }
+ else if (xh == 0.5)
+ {
+ if (xl > 0.0 || (xl == 0.0 && res >= 0))
+- res += 1;
++ if (__glibc_unlikely (__builtin_add_overflow (res, 1, &res)))
++ goto overflow;
+ }
+ else if (-xh > 0.5)
+ {
+- res -= 1;
++ if (__glibc_unlikely (__builtin_add_overflow (res, -1, &res)))
++ goto overflow;
+ }
+ else if (-xh == 0.5)
+ {
+ if (xl < 0.0 || (xl == 0.0 && res <= 0))
+- res -= 1;
++ if (__glibc_unlikely (__builtin_add_overflow (res, -1, &res)))
++ goto overflow;
+ }
+
+- if (__glibc_unlikely (((~(hi ^ (res - hi)) & (res ^ hi)) < 0)))
+- goto overflow;
+-
+ return res;
+ }
+ else
diff --git a/sysdeps/mach/hurd/bits/socket.h b/sysdeps/mach/hurd/bits/socket.h
index 5b35ea81ec..70fce4fb27 100644
--- a/sysdeps/mach/hurd/bits/socket.h
@@ -5034,6 +5394,151 @@ index b8088cf13f..0b851b6c86 100644
+ result = INTERNAL_SYSCALL_CALL (brk, 0);
+ return (void *) result;
}
+diff --git a/sysdeps/unix/sysv/linux/arm/bits/struct_stat.h b/sysdeps/unix/sysv/linux/arm/bits/struct_stat.h
+new file mode 100644
+index 0000000000..30ee6279d2
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/arm/bits/struct_stat.h
+@@ -0,0 +1,139 @@
++/* Definition for struct stat. Linux/arm version.
++ Copyright (C) 2020-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/>. */
++
++#if !defined _SYS_STAT_H && !defined _FCNTL_H
++# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
++#endif
++
++#ifndef _BITS_STRUCT_STAT_H
++#define _BITS_STRUCT_STAT_H 1
++
++#include <bits/endian.h>
++#include <bits/wordsize.h>
++
++struct stat
++ {
++#ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++#else
++ __dev_t st_dev; /* Device. */
++ unsigned short int __pad1;
++# ifndef __USE_FILE_OFFSET64
++ __ino_t st_ino; /* File serial number. */
++# else
++ __ino_t __st_ino; /* 32bit file serial number. */
++# endif
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ unsigned short int __pad2;
++# ifndef __USE_FILE_OFFSET64
++ __off_t st_size; /* Size of file, in bytes. */
++# else
++ __off64_t st_size; /* Size of file, in bytes. */
++# endif
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++
++# ifndef __USE_FILE_OFFSET64
++ __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
++# else
++ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
++# endif
++# ifdef __USE_XOPEN2K8
++ /* Nanosecond resolution timestamps are stored in a format
++ equivalent to 'struct timespec'. This is the type used
++ whenever possible but the Unix namespace rules do not allow the
++ identifier 'timespec' to appear in the <sys/stat.h> header.
++ Therefore we have to handle the use of this header in strictly
++ standard-compliant sources special. */
++ struct timespec st_atim; /* Time of last access. */
++ struct timespec st_mtim; /* Time of last modification. */
++ struct timespec st_ctim; /* Time of last status change. */
++# define st_atime st_atim.tv_sec /* Backward compatibility. */
++# define st_mtime st_mtim.tv_sec
++# define st_ctime st_ctim.tv_sec
++# else
++ __time_t st_atime; /* Time of last access. */
++ unsigned long int st_atimensec; /* Nscecs of last access. */
++ __time_t st_mtime; /* Time of last modification. */
++ unsigned long int st_mtimensec; /* Nsecs of last modification. */
++ __time_t st_ctime; /* Time of last status change. */
++ unsigned long int st_ctimensec; /* Nsecs of last status change. */
++# endif
++# ifndef __USE_FILE_OFFSET64
++ unsigned long int __glibc_reserved4;
++ unsigned long int __glibc_reserved5;
++# else
++ __ino64_t st_ino; /* File serial number. */
++# endif
++#endif /* __USE_TIME_BITS64 */
++ };
++
++#ifdef __USE_LARGEFILE64
++struct stat64
++ {
++# ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++# else
++ __dev_t st_dev; /* Device. */
++ unsigned int __pad1;
++
++ __ino_t __st_ino; /* 32bit file serial number. */
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ unsigned int __pad2;
++ __off64_t st_size; /* Size of file, in bytes. */
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++
++ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
++# ifdef __USE_XOPEN2K8
++ /* Nanosecond resolution timestamps are stored in a format
++ equivalent to 'struct timespec'. This is the type used
++ whenever possible but the Unix namespace rules do not allow the
++ identifier 'timespec' to appear in the <sys/stat.h> header.
++ Therefore we have to handle the use of this header in strictly
++ standard-compliant sources special. */
++ struct timespec st_atim; /* Time of last access. */
++ struct timespec st_mtim; /* Time of last modification. */
++ struct timespec st_ctim; /* Time of last status change. */
++# else
++ __time_t st_atime; /* Time of last access. */
++ unsigned long int st_atimensec; /* Nscecs of last access. */
++ __time_t st_mtime; /* Time of last modification. */
++ unsigned long int st_mtimensec; /* Nsecs of last modification. */
++ __time_t st_ctime; /* Time of last status change. */
++ unsigned long int st_ctimensec; /* Nsecs of last status change. */
++# endif
++ __ino64_t st_ino; /* File serial number. */
++# endif /* __USE_TIME_BITS64 */
++ };
++#endif
++
++/* Tell code we have these members. */
++#define _STATBUF_ST_BLKSIZE
++#define _STATBUF_ST_RDEV
++/* Nanosecond resolution time values are supported. */
++#define _STATBUF_ST_NSEC
++
++
++#endif /* _BITS_STRUCT_STAT_H */
diff --git a/sysdeps/unix/sysv/linux/bits/socket.h b/sysdeps/unix/sysv/linux/bits/socket.h
index 4f1f810ea1..539b8d7716 100644
--- a/sysdeps/unix/sysv/linux/bits/socket.h
@@ -5097,6 +5602,171 @@ index 4f1f810ea1..539b8d7716 100644
return __cmsg;
}
#endif /* Use `extern inline'. */
+diff --git a/sysdeps/unix/sysv/linux/bits/struct_stat.h b/sysdeps/unix/sysv/linux/bits/struct_stat.h
+index 25bd6cb638..fb11a3fba4 100644
+--- a/sysdeps/unix/sysv/linux/bits/struct_stat.h
++++ b/sysdeps/unix/sysv/linux/bits/struct_stat.h
+@@ -26,37 +26,36 @@
+ #include <bits/endian.h>
+ #include <bits/wordsize.h>
+
+-struct stat
+- {
+-#ifdef __USE_TIME_BITS64
+-# include <bits/struct_stat_time64_helper.h>
+-#else
+- __dev_t st_dev; /* Device. */
+- unsigned short int __pad1;
+-# ifndef __USE_FILE_OFFSET64
+- __ino_t st_ino; /* File serial number. */
+-# else
+- __ino_t __st_ino; /* 32bit file serial number. */
++#if defined __USE_FILE_OFFSET64
++# define __field64(type, type64, name) type64 name
++#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T
++# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T
++# error "ino_t and off_t must both be the same type"
+ # endif
+- __mode_t st_mode; /* File mode. */
+- __nlink_t st_nlink; /* Link count. */
+- __uid_t st_uid; /* User ID of the file's owner. */
+- __gid_t st_gid; /* Group ID of the file's group.*/
+- __dev_t st_rdev; /* Device number, if device. */
+- unsigned short int __pad2;
+-# ifndef __USE_FILE_OFFSET64
+- __off_t st_size; /* Size of file, in bytes. */
+-# else
+- __off64_t st_size; /* Size of file, in bytes. */
+-# endif
+- __blksize_t st_blksize; /* Optimal block size for I/O. */
++# define __field64(type, type64, name) type name
++#elif __BYTE_ORDER == __LITTLE_ENDIAN
++# define __field64(type, type64, name) \
++ type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
++#else
++# define __field64(type, type64, name) \
++ int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
++#endif
+
+-# ifndef __USE_FILE_OFFSET64
+- __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
+-# else
+- __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
+-# endif
+-# ifdef __USE_XOPEN2K8
++struct stat
++ {
++ __dev_t st_dev; /* Device. */
++ __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ __dev_t __pad1;
++ __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++ int __pad2;
++ __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */
++#ifdef __USE_XOPEN2K8
+ /* Nanosecond resolution timestamps are stored in a format
+ equivalent to 'struct timespec'. This is the type used
+ whenever possible but the Unix namespace rules do not allow the
+@@ -66,47 +65,38 @@ struct stat
+ struct timespec st_atim; /* Time of last access. */
+ struct timespec st_mtim; /* Time of last modification. */
+ struct timespec st_ctim; /* Time of last status change. */
+-# define st_atime st_atim.tv_sec /* Backward compatibility. */
+-# define st_mtime st_mtim.tv_sec
+-# define st_ctime st_ctim.tv_sec
+-# else
++# define st_atime st_atim.tv_sec /* Backward compatibility. */
++# define st_mtime st_mtim.tv_sec
++# define st_ctime st_ctim.tv_sec
++#else
+ __time_t st_atime; /* Time of last access. */
+ unsigned long int st_atimensec; /* Nscecs of last access. */
+ __time_t st_mtime; /* Time of last modification. */
+ unsigned long int st_mtimensec; /* Nsecs of last modification. */
+ __time_t st_ctime; /* Time of last status change. */
+ unsigned long int st_ctimensec; /* Nsecs of last status change. */
+-# endif
+-# ifndef __USE_FILE_OFFSET64
+- unsigned long int __glibc_reserved4;
+- unsigned long int __glibc_reserved5;
+-# else
+- __ino64_t st_ino; /* File serial number. */
+-# endif
+-#endif /* __USE_TIME_BITS64 */
++#endif
++ int __glibc_reserved[2];
+ };
+
++#undef __field64
++
+ #ifdef __USE_LARGEFILE64
+ struct stat64
+ {
+-# ifdef __USE_TIME_BITS64
+-# include <bits/struct_stat_time64_helper.h>
+-# else
+- __dev_t st_dev; /* Device. */
+- unsigned int __pad1;
+-
+- __ino_t __st_ino; /* 32bit file serial number. */
+- __mode_t st_mode; /* File mode. */
+- __nlink_t st_nlink; /* Link count. */
+- __uid_t st_uid; /* User ID of the file's owner. */
+- __gid_t st_gid; /* Group ID of the file's group.*/
+- __dev_t st_rdev; /* Device number, if device. */
+- unsigned int __pad2;
+- __off64_t st_size; /* Size of file, in bytes. */
+- __blksize_t st_blksize; /* Optimal block size for I/O. */
+-
+- __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
+-# ifdef __USE_XOPEN2K8
++ __dev_t st_dev; /* Device. */
++ __ino64_t st_ino; /* File serial number. */
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ __dev_t __pad1;
++ __off64_t st_size; /* Size of file, in bytes. */
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++ int __pad2;
++ __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
++#ifdef __USE_XOPEN2K8
+ /* Nanosecond resolution timestamps are stored in a format
+ equivalent to 'struct timespec'. This is the type used
+ whenever possible but the Unix namespace rules do not allow the
+@@ -116,16 +106,15 @@ struct stat64
+ struct timespec st_atim; /* Time of last access. */
+ struct timespec st_mtim; /* Time of last modification. */
+ struct timespec st_ctim; /* Time of last status change. */
+-# else
++#else
+ __time_t st_atime; /* Time of last access. */
+ unsigned long int st_atimensec; /* Nscecs of last access. */
+ __time_t st_mtime; /* Time of last modification. */
+ unsigned long int st_mtimensec; /* Nsecs of last modification. */
+ __time_t st_ctime; /* Time of last status change. */
+ unsigned long int st_ctimensec; /* Nsecs of last status change. */
+-# endif
+- __ino64_t st_ino; /* File serial number. */
+-# endif /* __USE_TIME_BITS64 */
++#endif
++ int __glibc_reserved[2];
+ };
+ #endif
+
+@@ -135,5 +124,4 @@ struct stat64
+ /* Nanosecond resolution time values are supported. */
+ #define _STATBUF_ST_NSEC
+
+-
+ #endif /* _BITS_STRUCT_STAT_H */
diff --git a/sysdeps/unix/sysv/linux/cmsg_nxthdr.c b/sysdeps/unix/sysv/linux/cmsg_nxthdr.c
index 15b7a3a925..24f72b797a 100644
--- a/sysdeps/unix/sysv/linux/cmsg_nxthdr.c
@@ -5148,6 +5818,257 @@ index 15b7a3a925..24f72b797a 100644
return cmsg;
}
libc_hidden_def (__cmsg_nxthdr)
+diff --git a/sysdeps/unix/sysv/linux/generic/bits/struct_stat.h b/sysdeps/unix/sysv/linux/csky/bits/struct_stat.h
+similarity index 92%
+rename from sysdeps/unix/sysv/linux/generic/bits/struct_stat.h
+rename to sysdeps/unix/sysv/linux/csky/bits/struct_stat.h
+index fb11a3fba4..f0ee455748 100644
+--- a/sysdeps/unix/sysv/linux/generic/bits/struct_stat.h
++++ b/sysdeps/unix/sysv/linux/csky/bits/struct_stat.h
+@@ -1,4 +1,4 @@
+-/* Definition for struct stat.
++/* Definition for struct stat. Linux/csky version.
+ Copyright (C) 2020-2022 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+@@ -43,6 +43,9 @@
+
+ struct stat
+ {
++#ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++#else
+ __dev_t st_dev; /* Device. */
+ __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */
+ __mode_t st_mode; /* File mode. */
+@@ -55,7 +58,7 @@ struct stat
+ __blksize_t st_blksize; /* Optimal block size for I/O. */
+ int __pad2;
+ __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */
+-#ifdef __USE_XOPEN2K8
++# ifdef __USE_XOPEN2K8
+ /* Nanosecond resolution timestamps are stored in a format
+ equivalent to 'struct timespec'. This is the type used
+ whenever possible but the Unix namespace rules do not allow the
+@@ -65,18 +68,19 @@ struct stat
+ struct timespec st_atim; /* Time of last access. */
+ struct timespec st_mtim; /* Time of last modification. */
+ struct timespec st_ctim; /* Time of last status change. */
+-# define st_atime st_atim.tv_sec /* Backward compatibility. */
+-# define st_mtime st_mtim.tv_sec
+-# define st_ctime st_ctim.tv_sec
+-#else
++# define st_atime st_atim.tv_sec /* Backward compatibility. */
++# define st_mtime st_mtim.tv_sec
++# define st_ctime st_ctim.tv_sec
++# else
+ __time_t st_atime; /* Time of last access. */
+ unsigned long int st_atimensec; /* Nscecs of last access. */
+ __time_t st_mtime; /* Time of last modification. */
+ unsigned long int st_mtimensec; /* Nsecs of last modification. */
+ __time_t st_ctime; /* Time of last status change. */
+ unsigned long int st_ctimensec; /* Nsecs of last status change. */
+-#endif
++# endif
+ int __glibc_reserved[2];
++#endif
+ };
+
+ #undef __field64
+@@ -84,6 +88,9 @@ struct stat
+ #ifdef __USE_LARGEFILE64
+ struct stat64
+ {
++# ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++# else
+ __dev_t st_dev; /* Device. */
+ __ino64_t st_ino; /* File serial number. */
+ __mode_t st_mode; /* File mode. */
+@@ -96,7 +103,7 @@ struct stat64
+ __blksize_t st_blksize; /* Optimal block size for I/O. */
+ int __pad2;
+ __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
+-#ifdef __USE_XOPEN2K8
++# ifdef __USE_XOPEN2K8
+ /* Nanosecond resolution timestamps are stored in a format
+ equivalent to 'struct timespec'. This is the type used
+ whenever possible but the Unix namespace rules do not allow the
+@@ -106,15 +113,16 @@ struct stat64
+ struct timespec st_atim; /* Time of last access. */
+ struct timespec st_mtim; /* Time of last modification. */
+ struct timespec st_ctim; /* Time of last status change. */
+-#else
++# else
+ __time_t st_atime; /* Time of last access. */
+ unsigned long int st_atimensec; /* Nscecs of last access. */
+ __time_t st_mtime; /* Time of last modification. */
+ unsigned long int st_mtimensec; /* Nsecs of last modification. */
+ __time_t st_ctime; /* Time of last status change. */
+ unsigned long int st_ctimensec; /* Nsecs of last status change. */
+-#endif
++# endif
+ int __glibc_reserved[2];
++# endif
+ };
+ #endif
+
+diff --git a/sysdeps/unix/sysv/linux/hppa/bits/struct_stat.h b/sysdeps/unix/sysv/linux/hppa/bits/struct_stat.h
+new file mode 100644
+index 0000000000..38b6e13e68
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/hppa/bits/struct_stat.h
+@@ -0,0 +1,139 @@
++/* Definition for struct stat. Linux/hppa version.
++ Copyright (C) 2020-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/>. */
++
++#if !defined _SYS_STAT_H && !defined _FCNTL_H
++# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
++#endif
++
++#ifndef _BITS_STRUCT_STAT_H
++#define _BITS_STRUCT_STAT_H 1
++
++#include <bits/endian.h>
++#include <bits/wordsize.h>
++
++struct stat
++ {
++#ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++#else
++ __dev_t st_dev; /* Device. */
++ unsigned short int __pad1;
++# ifndef __USE_FILE_OFFSET64
++ __ino_t st_ino; /* File serial number. */
++# else
++ __ino_t __st_ino; /* 32bit file serial number. */
++# endif
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ unsigned short int __pad2;
++# ifndef __USE_FILE_OFFSET64
++ __off_t st_size; /* Size of file, in bytes. */
++# else
++ __off64_t st_size; /* Size of file, in bytes. */
++# endif
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++
++# ifndef __USE_FILE_OFFSET64
++ __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
++# else
++ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
++# endif
++# ifdef __USE_XOPEN2K8
++ /* Nanosecond resolution timestamps are stored in a format
++ equivalent to 'struct timespec'. This is the type used
++ whenever possible but the Unix namespace rules do not allow the
++ identifier 'timespec' to appear in the <sys/stat.h> header.
++ Therefore we have to handle the use of this header in strictly
++ standard-compliant sources special. */
++ struct timespec st_atim; /* Time of last access. */
++ struct timespec st_mtim; /* Time of last modification. */
++ struct timespec st_ctim; /* Time of last status change. */
++# define st_atime st_atim.tv_sec /* Backward compatibility. */
++# define st_mtime st_mtim.tv_sec
++# define st_ctime st_ctim.tv_sec
++# else
++ __time_t st_atime; /* Time of last access. */
++ unsigned long int st_atimensec; /* Nscecs of last access. */
++ __time_t st_mtime; /* Time of last modification. */
++ unsigned long int st_mtimensec; /* Nsecs of last modification. */
++ __time_t st_ctime; /* Time of last status change. */
++ unsigned long int st_ctimensec; /* Nsecs of last status change. */
++# endif
++# ifndef __USE_FILE_OFFSET64
++ unsigned long int __glibc_reserved4;
++ unsigned long int __glibc_reserved5;
++# else
++ __ino64_t st_ino; /* File serial number. */
++# endif
++#endif /* __USE_TIME_BITS64 */
++ };
++
++#ifdef __USE_LARGEFILE64
++struct stat64
++ {
++# ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++# else
++ __dev_t st_dev; /* Device. */
++ unsigned int __pad1;
++
++ __ino_t __st_ino; /* 32bit file serial number. */
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ unsigned int __pad2;
++ __off64_t st_size; /* Size of file, in bytes. */
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++
++ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
++# ifdef __USE_XOPEN2K8
++ /* Nanosecond resolution timestamps are stored in a format
++ equivalent to 'struct timespec'. This is the type used
++ whenever possible but the Unix namespace rules do not allow the
++ identifier 'timespec' to appear in the <sys/stat.h> header.
++ Therefore we have to handle the use of this header in strictly
++ standard-compliant sources special. */
++ struct timespec st_atim; /* Time of last access. */
++ struct timespec st_mtim; /* Time of last modification. */
++ struct timespec st_ctim; /* Time of last status change. */
++# else
++ __time_t st_atime; /* Time of last access. */
++ unsigned long int st_atimensec; /* Nscecs of last access. */
++ __time_t st_mtime; /* Time of last modification. */
++ unsigned long int st_mtimensec; /* Nsecs of last modification. */
++ __time_t st_ctime; /* Time of last status change. */
++ unsigned long int st_ctimensec; /* Nsecs of last status change. */
++# endif
++ __ino64_t st_ino; /* File serial number. */
++# endif /* __USE_TIME_BITS64 */
++ };
++#endif
++
++/* Tell code we have these members. */
++#define _STATBUF_ST_BLKSIZE
++#define _STATBUF_ST_RDEV
++/* Nanosecond resolution time values are supported. */
++#define _STATBUF_ST_NSEC
++
++
++#endif /* _BITS_STRUCT_STAT_H */
+diff --git a/sysdeps/unix/sysv/linux/hppa/kernel-features.h b/sysdeps/unix/sysv/linux/hppa/kernel-features.h
+index 0cd21ef0fa..079612e4aa 100644
+--- a/sysdeps/unix/sysv/linux/hppa/kernel-features.h
++++ b/sysdeps/unix/sysv/linux/hppa/kernel-features.h
+@@ -30,3 +30,6 @@
+
+ #undef __ASSUME_CLONE_DEFAULT
+ #define __ASSUME_CLONE_BACKWARDS 1
++
++/* QEMU does not support set_robust_list. */
++#undef __ASSUME_SET_ROBUST_LIST
diff --git a/sysdeps/unix/sysv/linux/m68k/libc-lock-arch.h b/sysdeps/unix/sysv/linux/m68k/libc-lock-arch.h
new file mode 100644
index 0000000000..1844bbaf6f
@@ -5179,6 +6100,204 @@ index 0000000000..1844bbaf6f
+#define __LIBC_LOCK_ALIGNMENT __attribute__ ((__aligned__ (4)))
+
+#endif
+diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/fstatat.c b/sysdeps/unix/sysv/linux/mips/mips64/n64/fstatat.c
+new file mode 100644
+index 0000000000..fe6c3a0dda
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/fstatat.c
+@@ -0,0 +1,51 @@
++/* Get file status. Linux/MIPSn64 version.
++ 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/>. */
++
++#include <sys/stat.h>
++#include <sysdep.h>
++
++/* Different than other ABIs, mips64 has different layouts for non-LFS
++ and LFS struct stat. */
++int
++__fstatat (int fd, const char *file, struct stat *buf, int flag)
++{
++ struct __stat64_t64 st64;
++ int r = __fstatat64_time64 (fd, file, &st64, flag);
++ if (r == 0)
++ {
++ /* Clear internal pad and reserved fields. */
++ memset (buf, 0, sizeof (*buf));
++
++ buf->st_dev = st64.st_dev;
++ buf->st_ino = st64.st_ino;
++ buf->st_mode = st64.st_mode;
++ buf->st_nlink = st64.st_nlink;
++ buf->st_uid = st64.st_uid;
++ buf->st_gid = st64.st_gid;
++ buf->st_rdev = st64.st_rdev;
++ buf->st_size = st64.st_size;
++ buf->st_blksize = st64.st_blksize;
++ buf->st_blocks = st64.st_blocks;
++ buf->st_atim = st64.st_atim;
++ buf->st_mtim = st64.st_mtim;
++ buf->st_ctim = st64.st_ctim;
++ }
++ return r;
++}
++
++weak_alias (__fstatat, fstatat)
+diff --git a/sysdeps/unix/sysv/linux/nios2/bits/struct_stat.h b/sysdeps/unix/sysv/linux/nios2/bits/struct_stat.h
+new file mode 100644
+index 0000000000..e00e71173e
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/nios2/bits/struct_stat.h
+@@ -0,0 +1,135 @@
++/* Definition for struct stat. Linux/nios2 version.
++ Copyright (C) 2020-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/>. */
++
++#if !defined _SYS_STAT_H && !defined _FCNTL_H
++# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
++#endif
++
++#ifndef _BITS_STRUCT_STAT_H
++#define _BITS_STRUCT_STAT_H 1
++
++#include <bits/endian.h>
++#include <bits/wordsize.h>
++
++#if defined __USE_FILE_OFFSET64
++# define __field64(type, type64, name) type64 name
++#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T
++# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T
++# error "ino_t and off_t must both be the same type"
++# endif
++# define __field64(type, type64, name) type name
++#elif __BYTE_ORDER == __LITTLE_ENDIAN
++# define __field64(type, type64, name) \
++ type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
++#else
++# define __field64(type, type64, name) \
++ int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
++#endif
++
++struct stat
++ {
++#ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++#else
++ __dev_t st_dev; /* Device. */
++ __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ __dev_t __pad1;
++ __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++ int __pad2;
++ __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */
++# ifdef __USE_XOPEN2K8
++ /* Nanosecond resolution timestamps are stored in a format
++ equivalent to 'struct timespec'. This is the type used
++ whenever possible but the Unix namespace rules do not allow the
++ identifier 'timespec' to appear in the <sys/stat.h> header.
++ Therefore we have to handle the use of this header in strictly
++ standard-compliant sources special. */
++ struct timespec st_atim; /* Time of last access. */
++ struct timespec st_mtim; /* Time of last modification. */
++ struct timespec st_ctim; /* Time of last status change. */
++# define st_atime st_atim.tv_sec /* Backward compatibility. */
++# define st_mtime st_mtim.tv_sec
++# define st_ctime st_ctim.tv_sec
++# else
++ __time_t st_atime; /* Time of last access. */
++ unsigned long int st_atimensec; /* Nscecs of last access. */
++ __time_t st_mtime; /* Time of last modification. */
++ unsigned long int st_mtimensec; /* Nsecs of last modification. */
++ __time_t st_ctime; /* Time of last status change. */
++ unsigned long int st_ctimensec; /* Nsecs of last status change. */
++# endif
++ int __glibc_reserved[2];
++#endif
++ };
++
++#undef __field64
++
++#ifdef __USE_LARGEFILE64
++struct stat64
++ {
++# ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++# else
++ __dev_t st_dev; /* Device. */
++ __ino64_t st_ino; /* File serial number. */
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ __dev_t __pad1;
++ __off64_t st_size; /* Size of file, in bytes. */
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++ int __pad2;
++ __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
++# ifdef __USE_XOPEN2K8
++ /* Nanosecond resolution timestamps are stored in a format
++ equivalent to 'struct timespec'. This is the type used
++ whenever possible but the Unix namespace rules do not allow the
++ identifier 'timespec' to appear in the <sys/stat.h> header.
++ Therefore we have to handle the use of this header in strictly
++ standard-compliant sources special. */
++ struct timespec st_atim; /* Time of last access. */
++ struct timespec st_mtim; /* Time of last modification. */
++ struct timespec st_ctim; /* Time of last status change. */
++# else
++ __time_t st_atime; /* Time of last access. */
++ unsigned long int st_atimensec; /* Nscecs of last access. */
++ __time_t st_mtime; /* Time of last modification. */
++ unsigned long int st_mtimensec; /* Nsecs of last modification. */
++ __time_t st_ctime; /* Time of last status change. */
++ unsigned long int st_ctimensec; /* Nsecs of last status change. */
++# endif
++ int __glibc_reserved[2];
++# endif
++ };
++#endif
++
++/* Tell code we have these members. */
++#define _STATBUF_ST_BLKSIZE
++#define _STATBUF_ST_RDEV
++/* Nanosecond resolution time values are supported. */
++#define _STATBUF_ST_NSEC
++
++#endif /* _BITS_STRUCT_STAT_H */
diff --git a/sysdeps/unix/sysv/linux/not-cancel.h b/sysdeps/unix/sysv/linux/not-cancel.h
index a263d294b1..cf35c8bfc9 100644
--- a/sysdeps/unix/sysv/linux/not-cancel.h
@@ -5216,6 +6335,151 @@ index d656aedcc2..4e65f337d4 100644
#define __NR_migrate_pages 238
#define __NR_mincore 232
#define __NR_mkdirat 34
+diff --git a/sysdeps/unix/sysv/linux/sh/bits/struct_stat.h b/sysdeps/unix/sysv/linux/sh/bits/struct_stat.h
+new file mode 100644
+index 0000000000..0f7c9cdc89
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/sh/bits/struct_stat.h
+@@ -0,0 +1,139 @@
++/* Definition for struct stat. Linux/sh version.
++ Copyright (C) 2020-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/>. */
++
++#if !defined _SYS_STAT_H && !defined _FCNTL_H
++# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
++#endif
++
++#ifndef _BITS_STRUCT_STAT_H
++#define _BITS_STRUCT_STAT_H 1
++
++#include <bits/endian.h>
++#include <bits/wordsize.h>
++
++struct stat
++ {
++#ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++#else
++ __dev_t st_dev; /* Device. */
++ unsigned short int __pad1;
++# ifndef __USE_FILE_OFFSET64
++ __ino_t st_ino; /* File serial number. */
++# else
++ __ino_t __st_ino; /* 32bit file serial number. */
++# endif
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ unsigned short int __pad2;
++# ifndef __USE_FILE_OFFSET64
++ __off_t st_size; /* Size of file, in bytes. */
++# else
++ __off64_t st_size; /* Size of file, in bytes. */
++# endif
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++
++# ifndef __USE_FILE_OFFSET64
++ __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
++# else
++ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
++# endif
++# ifdef __USE_XOPEN2K8
++ /* Nanosecond resolution timestamps are stored in a format
++ equivalent to 'struct timespec'. This is the type used
++ whenever possible but the Unix namespace rules do not allow the
++ identifier 'timespec' to appear in the <sys/stat.h> header.
++ Therefore we have to handle the use of this header in strictly
++ standard-compliant sources special. */
++ struct timespec st_atim; /* Time of last access. */
++ struct timespec st_mtim; /* Time of last modification. */
++ struct timespec st_ctim; /* Time of last status change. */
++# define st_atime st_atim.tv_sec /* Backward compatibility. */
++# define st_mtime st_mtim.tv_sec
++# define st_ctime st_ctim.tv_sec
++# else
++ __time_t st_atime; /* Time of last access. */
++ unsigned long int st_atimensec; /* Nscecs of last access. */
++ __time_t st_mtime; /* Time of last modification. */
++ unsigned long int st_mtimensec; /* Nsecs of last modification. */
++ __time_t st_ctime; /* Time of last status change. */
++ unsigned long int st_ctimensec; /* Nsecs of last status change. */
++# endif
++# ifndef __USE_FILE_OFFSET64
++ unsigned long int __glibc_reserved4;
++ unsigned long int __glibc_reserved5;
++# else
++ __ino64_t st_ino; /* File serial number. */
++# endif
++#endif /* __USE_TIME_BITS64 */
++ };
++
++#ifdef __USE_LARGEFILE64
++struct stat64
++ {
++# ifdef __USE_TIME_BITS64
++# include <bits/struct_stat_time64_helper.h>
++# else
++ __dev_t st_dev; /* Device. */
++ unsigned int __pad1;
++
++ __ino_t __st_ino; /* 32bit file serial number. */
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ unsigned int __pad2;
++ __off64_t st_size; /* Size of file, in bytes. */
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++
++ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
++# ifdef __USE_XOPEN2K8
++ /* Nanosecond resolution timestamps are stored in a format
++ equivalent to 'struct timespec'. This is the type used
++ whenever possible but the Unix namespace rules do not allow the
++ identifier 'timespec' to appear in the <sys/stat.h> header.
++ Therefore we have to handle the use of this header in strictly
++ standard-compliant sources special. */
++ struct timespec st_atim; /* Time of last access. */
++ struct timespec st_mtim; /* Time of last modification. */
++ struct timespec st_ctim; /* Time of last status change. */
++# else
++ __time_t st_atime; /* Time of last access. */
++ unsigned long int st_atimensec; /* Nscecs of last access. */
++ __time_t st_mtime; /* Time of last modification. */
++ unsigned long int st_mtimensec; /* Nsecs of last modification. */
++ __time_t st_ctime; /* Time of last status change. */
++ unsigned long int st_ctimensec; /* Nsecs of last status change. */
++# endif
++ __ino64_t st_ino; /* File serial number. */
++# endif /* __USE_TIME_BITS64 */
++ };
++#endif
++
++/* Tell code we have these members. */
++#define _STATBUF_ST_BLKSIZE
++#define _STATBUF_ST_RDEV
++/* Nanosecond resolution time values are supported. */
++#define _STATBUF_ST_NSEC
++
++
++#endif /* _BITS_STRUCT_STAT_H */
diff --git a/sysdeps/unix/sysv/linux/sys/mount.h b/sysdeps/unix/sysv/linux/sys/mount.h
index f965986ba8..19841d0738 100644
--- a/sysdeps/unix/sysv/linux/sys/mount.h
@@ -5580,6 +6844,344 @@ index 037af22290..5711d1c312 100644
TEST_VERIFY (fd > 0);
char *path = xasprintf ("/proc/%d/fd/%d", pid, remote_fd);
+diff --git a/sysdeps/x86/get-isa-level.h b/sysdeps/x86/get-isa-level.h
+index 1ade78ab73..5b4dd5f062 100644
+--- a/sysdeps/x86/get-isa-level.h
++++ b/sysdeps/x86/get-isa-level.h
+@@ -47,6 +47,8 @@ get_isa_level (const struct cpu_features *cpu_features)
+ isa_level |= GNU_PROPERTY_X86_ISA_1_V2;
+ if (CPU_FEATURE_USABLE_P (cpu_features, AVX)
+ && CPU_FEATURE_USABLE_P (cpu_features, AVX2)
++ && CPU_FEATURE_USABLE_P (cpu_features, BMI1)
++ && CPU_FEATURE_USABLE_P (cpu_features, BMI2)
+ && CPU_FEATURE_USABLE_P (cpu_features, F16C)
+ && CPU_FEATURE_USABLE_P (cpu_features, FMA)
+ && CPU_FEATURE_USABLE_P (cpu_features, LZCNT)
+diff --git a/sysdeps/x86/isa-level.h b/sysdeps/x86/isa-level.h
+index 3c4480aba7..06f6c9663e 100644
+--- a/sysdeps/x86/isa-level.h
++++ b/sysdeps/x86/isa-level.h
+@@ -79,7 +79,9 @@
+ /* ISA level >= 3 guaranteed includes. */
+ #define AVX_X86_ISA_LEVEL 3
+ #define AVX2_X86_ISA_LEVEL 3
++#define BMI1_X86_ISA_LEVEL 3
+ #define BMI2_X86_ISA_LEVEL 3
++#define LZCNT_X86_ISA_LEVEL 3
+ #define MOVBE_X86_ISA_LEVEL 3
+
+ /* ISA level >= 2 guaranteed includes. */
+diff --git a/sysdeps/x86_64/multiarch/ifunc-avx2.h b/sysdeps/x86_64/multiarch/ifunc-avx2.h
+index a57a9952f3..f2f5e8a211 100644
+--- a/sysdeps/x86_64/multiarch/ifunc-avx2.h
++++ b/sysdeps/x86_64/multiarch/ifunc-avx2.h
+@@ -36,7 +36,9 @@ IFUNC_SELECTOR (void)
+ const struct cpu_features *cpu_features = __get_cpu_features ();
+
+ if (X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX2)
++ && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, BMI1)
+ && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, BMI2)
++ && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, LZCNT)
+ && X86_ISA_CPU_FEATURES_ARCH_P (cpu_features,
+ AVX_Fast_Unaligned_Load, ))
+ {
+diff --git a/sysdeps/x86_64/multiarch/ifunc-impl-list.c b/sysdeps/x86_64/multiarch/ifunc-impl-list.c
+index a71444eccb..00a91123d3 100644
+--- a/sysdeps/x86_64/multiarch/ifunc-impl-list.c
++++ b/sysdeps/x86_64/multiarch/ifunc-impl-list.c
+@@ -69,10 +69,12 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ && CPU_FEATURE_USABLE (BMI2)),
+ __memchr_evex_rtm)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, memchr,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __memchr_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, memchr,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __memchr_avx2_rtm)
+ /* ISA V2 wrapper for SSE2 implementation because the SSE2
+@@ -207,13 +209,19 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ IFUNC_IMPL (i, name, memrchr,
+ X86_IFUNC_IMPL_ADD_V4 (array, i, memrchr,
+ (CPU_FEATURE_USABLE (AVX512VL)
+- && CPU_FEATURE_USABLE (AVX512BW)),
++ && CPU_FEATURE_USABLE (AVX512BW)
++ && CPU_FEATURE_USABLE (BMI2)
++ && CPU_FEATURE_USABLE (LZCNT)),
+ __memrchr_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, memrchr,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
++ && CPU_FEATURE_USABLE (LZCNT)),
+ __memrchr_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, memrchr,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
++ && CPU_FEATURE_USABLE (LZCNT)
+ && CPU_FEATURE_USABLE (RTM)),
+ __memrchr_avx2_rtm)
+ /* ISA V2 wrapper for SSE2 implementation because the SSE2
+@@ -335,10 +343,12 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ && CPU_FEATURE_USABLE (BMI2)),
+ __rawmemchr_evex_rtm)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, rawmemchr,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __rawmemchr_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, rawmemchr,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __rawmemchr_avx2_rtm)
+ /* ISA V2 wrapper for SSE2 implementation because the SSE2
+@@ -448,13 +458,16 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ IFUNC_IMPL (i, name, strcasecmp,
+ X86_IFUNC_IMPL_ADD_V4 (array, i, strcasecmp,
+ (CPU_FEATURE_USABLE (AVX512VL)
+- && CPU_FEATURE_USABLE (AVX512BW)),
++ && CPU_FEATURE_USABLE (AVX512BW)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strcasecmp_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strcasecmp,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strcasecmp_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strcasecmp,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __strcasecmp_avx2_rtm)
+ X86_IFUNC_IMPL_ADD_V2 (array, i, strcasecmp,
+@@ -470,13 +483,16 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ IFUNC_IMPL (i, name, strcasecmp_l,
+ X86_IFUNC_IMPL_ADD_V4 (array, i, strcasecmp,
+ (CPU_FEATURE_USABLE (AVX512VL)
+- && CPU_FEATURE_USABLE (AVX512BW)),
++ && CPU_FEATURE_USABLE (AVX512BW)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strcasecmp_l_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strcasecmp,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strcasecmp_l_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strcasecmp,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __strcasecmp_l_avx2_rtm)
+ X86_IFUNC_IMPL_ADD_V2 (array, i, strcasecmp_l,
+@@ -562,13 +578,19 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ IFUNC_IMPL (i, name, strrchr,
+ X86_IFUNC_IMPL_ADD_V4 (array, i, strrchr,
+ (CPU_FEATURE_USABLE (AVX512VL)
+- && CPU_FEATURE_USABLE (AVX512BW)),
++ && CPU_FEATURE_USABLE (AVX512BW)
++ && CPU_FEATURE_USABLE (BMI1)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strrchr_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strrchr,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI1)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strrchr_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strrchr,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI1)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __strrchr_avx2_rtm)
+ /* ISA V2 wrapper for SSE2 implementation because the SSE2
+@@ -585,10 +607,12 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ && CPU_FEATURE_USABLE (BMI2)),
+ __strcmp_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strcmp,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strcmp_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strcmp,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __strcmp_avx2_rtm)
+ X86_IFUNC_IMPL_ADD_V2 (array, i, strcmp,
+@@ -638,13 +662,16 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ IFUNC_IMPL (i, name, strncasecmp,
+ X86_IFUNC_IMPL_ADD_V4 (array, i, strncasecmp,
+ (CPU_FEATURE_USABLE (AVX512VL)
+- && CPU_FEATURE_USABLE (AVX512BW)),
++ && CPU_FEATURE_USABLE (AVX512BW)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strncasecmp_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strncasecmp,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strncasecmp_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strncasecmp,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __strncasecmp_avx2_rtm)
+ X86_IFUNC_IMPL_ADD_V2 (array, i, strncasecmp,
+@@ -660,13 +687,16 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ IFUNC_IMPL (i, name, strncasecmp_l,
+ X86_IFUNC_IMPL_ADD_V4 (array, i, strncasecmp,
+ (CPU_FEATURE_USABLE (AVX512VL)
+- && CPU_FEATURE_USABLE (AVX512BW)),
++ & CPU_FEATURE_USABLE (AVX512BW)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strncasecmp_l_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strncasecmp,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strncasecmp_l_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strncasecmp,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __strncasecmp_l_avx2_rtm)
+ X86_IFUNC_IMPL_ADD_V2 (array, i, strncasecmp_l,
+@@ -773,13 +803,18 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ X86_IFUNC_IMPL_ADD_V4 (array, i, wcsrchr,
+ (CPU_FEATURE_USABLE (AVX512VL)
+ && CPU_FEATURE_USABLE (AVX512BW)
++ && CPU_FEATURE_USABLE (BMI1)
+ && CPU_FEATURE_USABLE (BMI2)),
+ __wcsrchr_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, wcsrchr,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI1)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __wcsrchr_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, wcsrchr,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI1)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __wcsrchr_avx2_rtm)
+ /* ISA V2 wrapper for SSE2 implementation because the SSE2
+@@ -796,10 +831,12 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ && CPU_FEATURE_USABLE (BMI2)),
+ __wcscmp_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, wcscmp,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __wcscmp_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, wcscmp,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __wcscmp_avx2_rtm)
+ /* ISA V2 wrapper for SSE2 implementation because the SSE2
+@@ -816,10 +853,12 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ && CPU_FEATURE_USABLE (BMI2)),
+ __wcsncmp_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, wcsncmp,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __wcsncmp_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, wcsncmp,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __wcsncmp_avx2_rtm)
+ /* ISA V2 wrapper for GENERIC implementation because the
+@@ -909,10 +948,12 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ && CPU_FEATURE_USABLE (BMI2)),
+ __wmemchr_evex_rtm)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, wmemchr,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __wmemchr_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, wmemchr,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __wmemchr_avx2_rtm)
+ /* ISA V2 wrapper for SSE2 implementation because the SSE2
+@@ -1162,13 +1203,16 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
+ IFUNC_IMPL (i, name, strncmp,
+ X86_IFUNC_IMPL_ADD_V4 (array, i, strncmp,
+ (CPU_FEATURE_USABLE (AVX512VL)
+- && CPU_FEATURE_USABLE (AVX512BW)),
++ && CPU_FEATURE_USABLE (AVX512BW)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strncmp_evex)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strncmp,
+- CPU_FEATURE_USABLE (AVX2),
++ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)),
+ __strncmp_avx2)
+ X86_IFUNC_IMPL_ADD_V3 (array, i, strncmp,
+ (CPU_FEATURE_USABLE (AVX2)
++ && CPU_FEATURE_USABLE (BMI2)
+ && CPU_FEATURE_USABLE (RTM)),
+ __strncmp_avx2_rtm)
+ X86_IFUNC_IMPL_ADD_V2 (array, i, strncmp,
+diff --git a/sysdeps/x86_64/multiarch/ifunc-strcasecmp.h b/sysdeps/x86_64/multiarch/ifunc-strcasecmp.h
+index 68646ef199..7622af259c 100644
+--- a/sysdeps/x86_64/multiarch/ifunc-strcasecmp.h
++++ b/sysdeps/x86_64/multiarch/ifunc-strcasecmp.h
+@@ -34,6 +34,7 @@ IFUNC_SELECTOR (void)
+ const struct cpu_features *cpu_features = __get_cpu_features ();
+
+ if (X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX2)
++ && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, BMI2)
+ && X86_ISA_CPU_FEATURES_ARCH_P (cpu_features,
+ AVX_Fast_Unaligned_Load, ))
+ {
+diff --git a/sysdeps/x86_64/multiarch/strcmp.c b/sysdeps/x86_64/multiarch/strcmp.c
+index fdd5afe3af..9d6c9f66ba 100644
+--- a/sysdeps/x86_64/multiarch/strcmp.c
++++ b/sysdeps/x86_64/multiarch/strcmp.c
+@@ -45,12 +45,12 @@ IFUNC_SELECTOR (void)
+ const struct cpu_features *cpu_features = __get_cpu_features ();
+
+ if (X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX2)
++ && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, BMI2)
+ && X86_ISA_CPU_FEATURES_ARCH_P (cpu_features,
+ AVX_Fast_Unaligned_Load, ))
+ {
+ if (X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX512VL)
+- && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX512BW)
+- && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, BMI2))
++ && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX512BW))
+ return OPTIMIZE (evex);
+
+ if (CPU_FEATURE_USABLE_P (cpu_features, RTM))
+diff --git a/sysdeps/x86_64/multiarch/strncmp.c b/sysdeps/x86_64/multiarch/strncmp.c
+index 4ebe4bde30..c4f8b6bbb5 100644
+--- a/sysdeps/x86_64/multiarch/strncmp.c
++++ b/sysdeps/x86_64/multiarch/strncmp.c
+@@ -41,12 +41,12 @@ IFUNC_SELECTOR (void)
+ const struct cpu_features *cpu_features = __get_cpu_features ();
+
+ if (X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX2)
++ && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, BMI2)
+ && X86_ISA_CPU_FEATURES_ARCH_P (cpu_features,
+ AVX_Fast_Unaligned_Load, ))
+ {
+ if (X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX512VL)
+- && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX512BW)
+- && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, BMI2))
++ && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX512BW))
+ return OPTIMIZE (evex);
+
+ if (CPU_FEATURE_USABLE_P (cpu_features, RTM))
diff --git a/wcsmbs/Makefile b/wcsmbs/Makefile
index e6b9e8743a..4af102a3f6 100644
--- a/wcsmbs/Makefile
1
0
commit ef9ab0ed0ab886dab814e99557273b7dc4037d44
Author: Tim Biermann <tbier(a)posteo.de>
Date: Sun Nov 6 15:31:40 2022 +0000
make: 4.3 -> 4.4
diff --git a/make/.signature b/make/.signature
index 7cede410..e74f7acb 100644
--- a/make/.signature
+++ b/make/.signature
@@ -1,5 +1,5 @@
untrusted comment: verify with /etc/ports/core.pub
-RWRJc1FUaeVeqk3C2n0efalkYK6Y//LEZA0Q/7qm8wzowkwVENQG1sBwjD7qZDhO1DaKYta4QIUJ7nu7i9YstxjdyYklX02PHwE=
-SHA256 (Pkgfile) = 77e2b636119bbec14d08e9469b13516a38baa52bc19bf67a182c8bea7ed6da2d
+RWRJc1FUaeVeqlZ/6uv/CIc4J/jW+QCN38o65tbKuptSDLSR5rAY2P0cC4jol0r6oaGu3IMjqwUmEy/pmFC1PlKxn25p6BRl0As=
+SHA256 (Pkgfile) = 6c353d7640034c7ab17d1b02ad9a45e177f4f0c56322019ae3d3e51959c5f49a
SHA256 (.footprint) = b6da4d8d5f42687f723b196c608941bfe0f0211397dc663c56e43459f0c8be75
-SHA256 (make-4.3.tar.lz) = de1a441c4edf952521db30bfca80baae86a0ff1acd0a00402999344f04c45e82
+SHA256 (make-4.4.tar.lz) = 48d0fc0b2a04bb50f2911c16da65723285f7f4804c74fc5a2124a3df6c5f78c4
diff --git a/make/Pkgfile b/make/Pkgfile
index 4cdcbcfb..2a440de2 100644
--- a/make/Pkgfile
+++ b/make/Pkgfile
@@ -3,7 +3,7 @@
# Maintainer: CRUX System Team, core-ports at crux dot nu
name=make
-version=4.3
+version=4.4
release=1
source=(https://ftpmirror.gnu.org/gnu/$name/$name-$version.tar.lz)
1
0
commit 1fe620e80a0b98eed17f3de9c55b60d6fbce4e91
Author: Tim Biermann <tbier(a)posteo.de>
Date: Sun Nov 6 11:32:15 2022 +0000
iana-etc: 20220922 -> 20221106
diff --git a/iana-etc/.signature b/iana-etc/.signature
index cc13b427..5c75ac54 100644
--- a/iana-etc/.signature
+++ b/iana-etc/.signature
@@ -1,7 +1,7 @@
untrusted comment: verify with /etc/ports/core.pub
-RWRJc1FUaeVeqoYzxhp5+mRrVvikcSKkX7t2/iXKPc9YO6XO3dBH2k7K7otUNkxO6bxOlpV3CU20klwwFyb7+bbByxuQ74/D5QU=
-SHA256 (Pkgfile) = a7599a7def470895b72f62469f2e35ad6d696f88a9961fac44a5a87c8cc36ae9
+RWRJc1FUaeVequ9r5Utk0CjjsSCw7Iz2Wm+mHXvVamBhBxA4VPakN7NyHwf2yILMZahr3OBfBLQLU8tS3ZGe/VeUsJH9ujNrMgc=
+SHA256 (Pkgfile) = 0019ba9c76d5ed451dde464697994546bc0fc0cc51f77dce6b695df2350e0b27
SHA256 (.footprint) = 20bee9bdc0754167b76a54dd3f5b32a38ac4075bb7d0936188d78809f9056c8b
-SHA256 (services) = 5a9f5c8959ca36757c3139a3282391f91f99569abd51cc28d296e1d8ab69a622
-SHA256 (protocols) = 54c6808a70e8203108932a7a5d61828809080968c232bfb6d863d510bf513af4
+SHA256 (services) = 5ba31f6f234af316890365cb0831820849352e4febf0d9580ece86582069381a
+SHA256 (protocols) = 1d992d262f09c2e3f7deb4a9241eeb11f481228f781c73f3e79ac99d0ee94d02
SHA256 (update.sh) = c0177c49b9ac29c4f8d89d5f26ca4dc8b1ca358c4e71efca562e61f71f9f3df0
diff --git a/iana-etc/Pkgfile b/iana-etc/Pkgfile
index 4938e4f6..5219ad12 100644
--- a/iana-etc/Pkgfile
+++ b/iana-etc/Pkgfile
@@ -3,7 +3,7 @@
# Maintainer: CRUX System Team, core-ports at crux dot nu
name=iana-etc
-version=20220922
+version=20221106
release=1
source=(services protocols update.sh)
diff --git a/iana-etc/protocols b/iana-etc/protocols
index 40d5cbe3..a53c155b 100644
--- a/iana-etc/protocols
+++ b/iana-etc/protocols
@@ -1,4 +1,4 @@
-# /etc/protocols, created 2022-10-01T22:09:03+0200
+# /etc/protocols, created 2022-11-06T11:31:32+0000
# Source: https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml
hopopt 0 HOPOPT
icmp 1 ICMP
diff --git a/iana-etc/services b/iana-etc/services
index 6052d565..e9ccba31 100644
--- a/iana-etc/services
+++ b/iana-etc/services
@@ -1,4 +1,4 @@
-# /etc/services, created 2022-10-01T22:09:03+0200
+# /etc/services, created 2022-11-06T11:31:32+0000
# Source: https://www.iana.org/assignments/service-names-port-numbers/service-names-p…
tcpmux 1/tcp
tcpmux 1/udp
@@ -10706,6 +10706,7 @@ warehouse 12322/tcp
warehouse 12322/udp
italk 12345/tcp
italk 12345/udp
+carb-repl-ctrl 12546/tcp
tsaf 12753/tcp
tsaf 12753/udp
netperf 12865/tcp
1
0
commit c309e3c79d7fe682d32b037b5ed957638dcdfee8
Author: Tim Biermann <tbier(a)posteo.de>
Date: Sun Nov 6 11:31:03 2022 +0000
python3-setuptools: 65.5.0 -> 65.5.1
diff --git a/python3-setuptools/.footprint b/python3-setuptools/.footprint
index 627bb685..e86f11d8 100644
--- a/python3-setuptools/.footprint
+++ b/python3-setuptools/.footprint
@@ -160,13 +160,13 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/pkg_resources/extern/
drwxr-xr-x root/root usr/lib/python3.10/site-packages/pkg_resources/extern/__pycache__/
-rw-r--r-- root/root usr/lib/python3.10/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-310.opt-1.pyc
-rw-r--r-- root/root usr/lib/python3.10/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-310.pyc
-drwxr-xr-x root/root usr/lib/python3.10/site-packages/setuptools-65.5.0-py3.10.egg-info/
--rw-r--r-- root/root usr/lib/python3.10/site-packages/setuptools-65.5.0-py3.10.egg-info/PKG-INFO
--rw-r--r-- root/root usr/lib/python3.10/site-packages/setuptools-65.5.0-py3.10.egg-info/SOURCES.txt
--rw-r--r-- root/root usr/lib/python3.10/site-packages/setuptools-65.5.0-py3.10.egg-info/dependency_links.txt
--rw-r--r-- root/root usr/lib/python3.10/site-packages/setuptools-65.5.0-py3.10.egg-info/entry_points.txt
--rw-r--r-- root/root usr/lib/python3.10/site-packages/setuptools-65.5.0-py3.10.egg-info/requires.txt
--rw-r--r-- root/root usr/lib/python3.10/site-packages/setuptools-65.5.0-py3.10.egg-info/top_level.txt
+drwxr-xr-x root/root usr/lib/python3.10/site-packages/setuptools-65.5.1-py3.10.egg-info/
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/setuptools-65.5.1-py3.10.egg-info/PKG-INFO
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/setuptools-65.5.1-py3.10.egg-info/SOURCES.txt
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/setuptools-65.5.1-py3.10.egg-info/dependency_links.txt
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/setuptools-65.5.1-py3.10.egg-info/entry_points.txt
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/setuptools-65.5.1-py3.10.egg-info/requires.txt
+-rw-r--r-- root/root usr/lib/python3.10/site-packages/setuptools-65.5.1-py3.10.egg-info/top_level.txt
drwxr-xr-x root/root usr/lib/python3.10/site-packages/setuptools/
-rw-r--r-- root/root usr/lib/python3.10/site-packages/setuptools/__init__.py
drwxr-xr-x root/root usr/lib/python3.10/site-packages/setuptools/__pycache__/
diff --git a/python3-setuptools/.signature b/python3-setuptools/.signature
index 53590f26..ea093ca3 100644
--- a/python3-setuptools/.signature
+++ b/python3-setuptools/.signature
@@ -1,5 +1,5 @@
untrusted comment: verify with /etc/ports/core.pub
-RWRJc1FUaeVeqrLxLVoVPtA3+RK7lpNaRbglEt9mQYDlb/0pGuS7ttEdk2sDGWMCawnpL+jr56MOIYs45scWOHQSCWnyu65PKwM=
-SHA256 (Pkgfile) = 0389935a6c3641243d5247b9c896f7f02abb18833f985341687cf774caf4d44a
-SHA256 (.footprint) = 41fe88399fca22ccdb610692b8c43c71cb44e97128d2740c86f4fb6a7b68f7f6
-SHA256 (setuptools-65.5.0.tar.gz) = 512e5536220e38146176efb833d4a62aa726b7bbff82cfbc8ba9eaa3996e0b17
+RWRJc1FUaeVeqkiAcDWznutHNxSDy+ZUzuQghZcAg2OuRoNzllC5wh07On9WXJYkhMzlLCuPGPG63XiyAK5YgCsRrSCGOzXZ9gE=
+SHA256 (Pkgfile) = 3be0fcec558b7813fe87bdf3cd1447fdea81330c79225d5dc0a1f285ba835645
+SHA256 (.footprint) = e857884509ffdaa3bc51756f428aff843a89423a09e51260439f1eda81c23833
+SHA256 (setuptools-65.5.1.tar.gz) = e197a19aa8ec9722928f2206f8de752def0e4c9fc6953527360d1c36d94ddb2f
diff --git a/python3-setuptools/Pkgfile b/python3-setuptools/Pkgfile
index f6cee2b2..dcf0402e 100644
--- a/python3-setuptools/Pkgfile
+++ b/python3-setuptools/Pkgfile
@@ -4,7 +4,7 @@
# Depends on: python3
name=python3-setuptools
-version=65.5.0
+version=65.5.1
release=1
source=(https://files.pythonhosted.org/packages/source/${name:8:1}/${name#*…
1
0
commit a7909d7faf8615560f6a36abeea16a8b61bed297
Author: Tim Biermann <tbier(a)posteo.de>
Date: Sun Nov 6 12:54:40 2022 +0000
easyeffects: 6.3.0 -> 7.0.0
diff --git a/easyeffects/.footprint b/easyeffects/.footprint
index 66feeb6ee..7e9022f31 100644
--- a/easyeffects/.footprint
+++ b/easyeffects/.footprint
@@ -35,6 +35,7 @@ drwxr-xr-x root/root usr/share/glib-2.0/schemas/
-rw-r--r-- root/root usr/share/glib-2.0/schemas/com.github.wwmm.easyeffects.reverb.gschema.xml
-rw-r--r-- root/root usr/share/glib-2.0/schemas/com.github.wwmm.easyeffects.rnnoise.gschema.xml
-rw-r--r-- root/root usr/share/glib-2.0/schemas/com.github.wwmm.easyeffects.spectrum.gschema.xml
+-rw-r--r-- root/root usr/share/glib-2.0/schemas/com.github.wwmm.easyeffects.speex.gschema.xml
-rw-r--r-- root/root usr/share/glib-2.0/schemas/com.github.wwmm.easyeffects.stereotools.gschema.xml
-rw-r--r-- root/root usr/share/glib-2.0/schemas/com.github.wwmm.easyeffects.streaminputs.gschema.xml
-rw-r--r-- root/root usr/share/glib-2.0/schemas/com.github.wwmm.easyeffects.streamoutputs.gschema.xml
diff --git a/easyeffects/.signature b/easyeffects/.signature
index 73e575b84..c6cbb81d5 100644
--- a/easyeffects/.signature
+++ b/easyeffects/.signature
@@ -1,5 +1,5 @@
untrusted comment: verify with /etc/ports/contrib.pub
-RWSagIOpLGJF3xnbFOogajpVAlKRW+/Fcah0fi1G9wE07Em2rz83GMbNBMxavbsyTcWufSO6AE9X5NvspX/5qHOk+oQyIiDjwA0=
-SHA256 (Pkgfile) = f65c134296bbf0c3ffbf31979d9fd867c1a0c05d8f0fda234f1cc3eace2afa93
-SHA256 (.footprint) = 640ab0e4d7c529d46553640bdd4481a2472a198c17f8b533e9a479c69434a92a
-SHA256 (easyeffects-6.3.0.tar.gz) = 6f42f6888244170bf17d071188829d16ea3502e03ab9eb5cc096cbb317268822
+RWSagIOpLGJF31YrVTsGPvSpLWOmnDsNnlUci+B1DVoqfkV5tCt4RxywDSeKYQ/L5wHXE2bzs8puV9UR63Rcyh9+YldeFSZk7gA=
+SHA256 (Pkgfile) = 80bcef9010c98ed8b3c1b2bf628ceaa7a2e58676ecd706d4757cd4e6b56f725a
+SHA256 (.footprint) = 970d5d6a71f4abe6ae7c27fd75c83e975417cea325948be9137b70aeeaddf07d
+SHA256 (easyeffects-7.0.0.tar.gz) = 8ee2d1f439cf24408ead008240bf0d603a04d630238f45bffa46b1391f98518b
diff --git a/easyeffects/Pkgfile b/easyeffects/Pkgfile
index 65b23e76c..794eecdc7 100644
--- a/easyeffects/Pkgfile
+++ b/easyeffects/Pkgfile
@@ -1,11 +1,11 @@
# Description: Audio Effects for Pulseaudio Applications
# URL: https://github.com/wwmm/easyeffects
# Maintainer: Tim Biermann, tbier at posteo dot de
-# Depends on: appstream-glib desktop-file-utils fmt gtk4 libadwaita libbs2b libebur128 libsigc++ lilv nlohmann-json onetbb pipewire rnnoise rubberband speexdsp zita-convolver
+# Depends on: appstream-glib desktop-file-utils fmt gsl gtk4 libadwaita libbs2b libebur128 libsigc++ lilv nlohmann-json onetbb pipewire rnnoise rubberband speex speexdsp zita-convolver
# Optional: calf desktop-file-utils mda-lv2 vamp-plugin-sdk zam-plugins
name=easyeffects
-version=6.3.0
+version=7.0.0
release=1
source=(https://github.com/wwmm/easyeffects/archive/v$version/$name-$versio…
1
0
commit 31f6427949eb42f07c9d61dc800d63fa955288bb
Author: Tim Biermann <tbier(a)posteo.de>
Date: Sun Nov 6 12:25:36 2022 +0000
appstream-glib: 0.8.1 -> 0.8.2
diff --git a/appstream-glib/.signature b/appstream-glib/.signature
index 04e562439..9f24716f0 100644
--- a/appstream-glib/.signature
+++ b/appstream-glib/.signature
@@ -1,5 +1,5 @@
untrusted comment: verify with /etc/ports/contrib.pub
-RWSagIOpLGJF3zu9VgBfUeUFV8kSnrzxtGh33482ITq5fiNtHVqZekWH10ukeAnKcrlBOPJ0XXR+mk0LJXAO7ntiv+0wrJdb6gk=
-SHA256 (Pkgfile) = f344c5be527a79ae7f4c9562c48d6bb9ab847a474b441d3ac0b5fc9328b3fc46
+RWSagIOpLGJF3wIHFw8M7GxwdlaVq9c2x8eyMHYgtwRFrCmChFTwQj593lk/43Vj3+9A+ZrO3P++tnC729V6aJ9O5XkjcqiLDgY=
+SHA256 (Pkgfile) = 1d454403a5ffe18ea28634aa812135fdae4b4554a889c9eb91cec605401e48df
SHA256 (.footprint) = 7ff0e10838a5c518492d14ef9e24a24ba1be196a3de208f547d798b1e1fc76f9
-SHA256 (appstream-glib-0.8.1.tar.xz) = 68a3d007f5b3aa84592dbef07950d9acf327da97ec8a6e88a90575d9055ddf6d
+SHA256 (appstream-glib-0.8.2.tar.xz) = 71256500add5048d6f08878904708b3d0c3875f402e0adcd358e91d47dcd8b96
diff --git a/appstream-glib/Pkgfile b/appstream-glib/Pkgfile
index 88be42c44..801622f75 100644
--- a/appstream-glib/Pkgfile
+++ b/appstream-glib/Pkgfile
@@ -5,7 +5,7 @@
# Optional: docbook-xsl krb5 snowball
name=appstream-glib
-version=0.8.1
+version=0.8.2
release=1
source=(https://people.freedesktop.org/~hughsient/appstream-glib/releases/$…
1
0
commit d9bf8e6e993810b2e2c0322133ab8f35612076fc
Author: Tim Biermann <tbier(a)posteo.de>
Date: Sun Nov 6 11:22:30 2022 +0000
xorg-xwayland: 22.1.4 -> 22.1.5
diff --git a/xorg-xwayland/.signature b/xorg-xwayland/.signature
index 2b008d77..3ddce0cd 100644
--- a/xorg-xwayland/.signature
+++ b/xorg-xwayland/.signature
@@ -1,5 +1,5 @@
untrusted comment: verify with /etc/ports/xorg.pub
-RWTSGWF5Q7TndA79YlrH05fAKTZk+YlNhCa0BmBWQ1xxILJeVEkYmVowcibCtD5NhbKLVEyzTxsx1dNkjB3XNLzYlIqEnljt7gA=
-SHA256 (Pkgfile) = 8d81ad5a11869089edc57fc948f6fa49003f3cc761b238e7e8871ff479593d2f
+RWTSGWF5Q7TndMKD6Xau6hhfpcneYBSB/2DrS/Mzcq54B4Cv5+NcFcKHellAFbwNWs7wnc2lhymsp+3xfmLBhwuE/Qh0bGpXzQU=
+SHA256 (Pkgfile) = 7757286db189395c845c1631bbce2653512d0fdfbc10d7e6095f6865d4fa59c6
SHA256 (.footprint) = a0f710b525178b1c96a2165cdd68d98915bc2bcecc4cc68be00ff7a105fb25d8
-SHA256 (xwayland-22.1.4.tar.xz) = 5c39bdd77444c3fa7a0e2ef317ae69ddde89a901dc8914dbc8eac39a9313512a
+SHA256 (xwayland-22.1.5.tar.xz) = e317ac1f119f8321654921761420901e4abd95585a8c763ce26af3b045ac1672
diff --git a/xorg-xwayland/Pkgfile b/xorg-xwayland/Pkgfile
index 9d109a68..8a24e2fa 100644
--- a/xorg-xwayland/Pkgfile
+++ b/xorg-xwayland/Pkgfile
@@ -4,7 +4,7 @@
# Depends on: dbus egl-wayland xorg-server
name=xorg-xwayland
-version=22.1.4
+version=22.1.5
release=1
source=(https://xorg.freedesktop.org/releases/individual/xserver/xwayland-$…
1
0