diff mbox series

[1/2] glibc: Upgrade to 2.39

Message ID 20240201222401.565583-1-raj.khem@gmail.com
State Accepted, archived
Commit 41ee98ea7e029515a94835952b8563097150f456
Headers show
Series [1/2] glibc: Upgrade to 2.39 | expand

Commit Message

Khem Raj Feb. 1, 2024, 10:24 p.m. UTC
License-Update: Relicenses the IBM portions of resolv/base64.c and
resolv/res_debug.c to a new license that does not have use-limited
patent language [1]

Upgrade localdef to get glibc 2.39 build fixes
Details of release [2]

Add fix for mips clone3 crash

[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=ae49a7b29acc184b03c2a6bd6ac01b5e08efd54f
[2] https://sourceware.org/glibc/wiki/Release/2.39

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/conf/distro/include/tcmode-default.inc   |  2 +-
 ...2.38.bb => cross-localedef-native_2.39.bb} |  2 +-
 meta/recipes-core/glibc/glibc-common.inc      |  4 +-
 ...bc-locale_2.38.bb => glibc-locale_2.39.bb} |  0
 ...bc-mtrace_2.38.bb => glibc-mtrace_2.39.bb} |  0
 ...-scripts_2.38.bb => glibc-scripts_2.39.bb} |  0
 ...tsuite_2.38.bb => glibc-testsuite_2.39.bb} |  0
 meta/recipes-core/glibc/glibc-version.inc     |  8 +-
 ...ests_2.38.bb => glibc-y2038-tests_2.39.bb} |  0
 ...dd-hardlink-resolver-from-util-linux.patch |  2 +-
 ...-fix-ups-hardlink-to-make-it-compile.patch |  2 +-
 ...Look-for-host-system-ld.so.cache-as-.patch |  8 +-
 ...Fix-buffer-overrun-with-a-relocated-.patch |  4 +-
 ...Raise-the-size-of-arrays-containing-.patch | 22 ++---
 ...k-glibc-Allow-64-bit-atomics-for-x86.patch |  4 +-
 ...Make-relocatable-install-for-locales.patch | 10 +--
 ...Fall-back-to-faccessat-on-faccess2-r.patch |  4 +-
 ...the-path-sets-wrong-config-variables.patch |  2 +-
 ...ss-building-and-testing-instructions.patch |  2 +-
 ...glibc-Help-bootstrap-cross-toolchain.patch |  4 +-
 ...eglibc-Resolve-__fpscr_values-on-SH4.patch |  4 +-
 ...port-cross-locale-generation-support.patch | 46 +++++-----
 ...-archive-uses-a-hard-coded-locale-pa.patch |  4 +-
 ...Do-not-ask-compiler-for-finding-arch.patch |  2 +-
 ...y-the-header-between-arm-and-aarch64.patch |  4 +-
 ...h-printf-builtin-in-nscd-init-script.patch |  2 +-
 ...igure.ac-Set-libc_cv_rootsbindir-onl.patch |  2 +-
 ...ell-interpreter-overridable-in-tzsel.patch |  6 +-
 ...Use-bin-sh-default-shell-interpreter.patch |  2 +-
 ...d-failed-in-unprivileged-process-BZ-.patch |  6 +-
 ...build-time-paths-in-the-output-binar.patch |  6 +-
 ...e-Pass-mcpu-along-with-march-to-dete.patch |  5 +-
 ...s-FIx-clone3-implementation-BZ-31325.patch | 83 +++++++++++++++++++
 .../glibc/{glibc_2.38.bb => glibc_2.39.bb}    |  1 +
 34 files changed, 166 insertions(+), 87 deletions(-)
 rename meta/recipes-core/glibc/{cross-localedef-native_2.38.bb => cross-localedef-native_2.39.bb} (96%)
 rename meta/recipes-core/glibc/{glibc-locale_2.38.bb => glibc-locale_2.39.bb} (100%)
 rename meta/recipes-core/glibc/{glibc-mtrace_2.38.bb => glibc-mtrace_2.39.bb} (100%)
 rename meta/recipes-core/glibc/{glibc-scripts_2.38.bb => glibc-scripts_2.39.bb} (100%)
 rename meta/recipes-core/glibc/{glibc-testsuite_2.38.bb => glibc-testsuite_2.39.bb} (100%)
 rename meta/recipes-core/glibc/{glibc-y2038-tests_2.38.bb => glibc-y2038-tests_2.39.bb} (100%)
 create mode 100644 meta/recipes-core/glibc/glibc/0024-mips-FIx-clone3-implementation-BZ-31325.patch
 rename meta/recipes-core/glibc/{glibc_2.38.bb => glibc_2.39.bb} (98%)

Comments

Richard Purdie Feb. 3, 2024, 7:54 a.m. UTC | #1
On Thu, 2024-02-01 at 14:24 -0800, Khem Raj wrote:
> License-Update: Relicenses the IBM portions of resolv/base64.c and
> resolv/res_debug.c to a new license that does not have use-limited
> patent language [1]
> 
> Upgrade localdef to get glibc 2.39 build fixes
> Details of release [2]
> 
> Add fix for mips clone3 crash
> 
> [1] https://sourceware.org/git/?p=glibc.git;a=commit;h=ae49a7b29acc184b03c2a6bd6ac01b5e08efd54f
> [2] https://sourceware.org/glibc/wiki/Release/2.39
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>

I think we may still have an n32 mips failure:

https://autobuilder.yoctoproject.org/typhoon/#/builders/44/builds/8562/steps/27/logs/stdio

#   error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"

although I haven't 100% confirmed it is this patch.

Cheers,

Richard
Khem Raj Feb. 3, 2024, 8:15 a.m. UTC | #2
On Fri, Feb 2, 2024 at 11:54 PM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> On Thu, 2024-02-01 at 14:24 -0800, Khem Raj wrote:
> > License-Update: Relicenses the IBM portions of resolv/base64.c and
> > resolv/res_debug.c to a new license that does not have use-limited
> > patent language [1]
> >
> > Upgrade localdef to get glibc 2.39 build fixes
> > Details of release [2]
> >
> > Add fix for mips clone3 crash
> >
> > [1] https://sourceware.org/git/?p=glibc.git;a=commit;h=ae49a7b29acc184b03c2a6bd6ac01b5e08efd54f
> > [2] https://sourceware.org/glibc/wiki/Release/2.39
> >
> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
>
> I think we may still have an n32 mips failure:
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/44/builds/8562/steps/27/logs/stdio
>
> #   error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
>
> although I haven't 100% confirmed it is this patch.

most likely, I will take a look later.

>
> Cheers,
>
> Richard
Khem Raj Feb. 3, 2024, 8:31 a.m. UTC | #3
On Sat, Feb 3, 2024 at 12:15 AM Khem Raj <raj.khem@gmail.com> wrote:
>
> On Fri, Feb 2, 2024 at 11:54 PM Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> >
> > On Thu, 2024-02-01 at 14:24 -0800, Khem Raj wrote:
> > > License-Update: Relicenses the IBM portions of resolv/base64.c and
> > > resolv/res_debug.c to a new license that does not have use-limited
> > > patent language [1]
> > >
> > > Upgrade localdef to get glibc 2.39 build fixes
> > > Details of release [2]
> > >
> > > Add fix for mips clone3 crash
> > >
> > > [1] https://sourceware.org/git/?p=glibc.git;a=commit;h=ae49a7b29acc184b03c2a6bd6ac01b5e08efd54f
> > > [2] https://sourceware.org/glibc/wiki/Release/2.39
> > >
> > > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >
> > I think we may still have an n32 mips failure:
> >
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/44/builds/8562/steps/27/logs/stdio
> >
> > #   error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
> >
> > although I haven't 100% confirmed it is this patch.
>
> most likely, I will take a look later.

The issue seems to be that assimp is vendoring zlib 1.2.x and there is
a fix to zlib for 64bit time_t [1] which is available in release 1.3.1
onwards
glibc headers have become more transparent which brings this issue to
front. So a fix is to patch the copy of zlib in assimp with the below
zlib patch
or perhaps use some other application in this self test. We have
deleted the assimp recipe already in YP 3.4 release onwards so maybe
we should
replace building it in self-test as well.

[1] https://github.com/madler/zlib/commit/a566e156b3fa07b566ddbf6801b517a9dba04fa3
>
> >
> > Cheers,
> >
> > Richard
Khem Raj Feb. 3, 2024, 8:48 a.m. UTC | #4
On Sat, Feb 3, 2024 at 12:31 AM Khem Raj <raj.khem@gmail.com> wrote:
>
> On Sat, Feb 3, 2024 at 12:15 AM Khem Raj <raj.khem@gmail.com> wrote:
> >
> > On Fri, Feb 2, 2024 at 11:54 PM Richard Purdie
> > <richard.purdie@linuxfoundation.org> wrote:
> > >
> > > On Thu, 2024-02-01 at 14:24 -0800, Khem Raj wrote:
> > > > License-Update: Relicenses the IBM portions of resolv/base64.c and
> > > > resolv/res_debug.c to a new license that does not have use-limited
> > > > patent language [1]
> > > >
> > > > Upgrade localdef to get glibc 2.39 build fixes
> > > > Details of release [2]
> > > >
> > > > Add fix for mips clone3 crash
> > > >
> > > > [1] https://sourceware.org/git/?p=glibc.git;a=commit;h=ae49a7b29acc184b03c2a6bd6ac01b5e08efd54f
> > > > [2] https://sourceware.org/glibc/wiki/Release/2.39
> > > >
> > > > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > >
> > > I think we may still have an n32 mips failure:
> > >
> > > https://autobuilder.yoctoproject.org/typhoon/#/builders/44/builds/8562/steps/27/logs/stdio
> > >
> > > #   error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
> > >
> > > although I haven't 100% confirmed it is this patch.
> >
> > most likely, I will take a look later.
>
> The issue seems to be that assimp is vendoring zlib 1.2.x and there is
> a fix to zlib for 64bit time_t [1] which is available in release 1.3.1
> onwards
> glibc headers have become more transparent which brings this issue to
> front. So a fix is to patch the copy of zlib in assimp with the below
> zlib patch
> or perhaps use some other application in this self test. We have
> deleted the assimp recipe already in YP 3.4 release onwards so maybe
> we should
> replace building it in self-test as well.
>
> [1] https://github.com/madler/zlib/commit/a566e156b3fa07b566ddbf6801b517a9dba04fa3

I also wonder why does it resort to build internal zlib copy when the
SDK has zlib so it might be
that zlib detection logic in assimp is failing which could be SDK
issue of not packaging needed bits
to detect it.

Perhaps pass -DASSIMP_BUILD_ZLIB=OFF to assimp cmake invocation in
test case and then it should fail
the build if it can not find zlib on system, then perhaps look into
why cmake is failing to detect zlib.

> >
> > >
> > > Cheers,
> > >
> > > Richard
diff mbox series

Patch

diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
index fa86bf4842a..a9a6e4d778f 100644
--- a/meta/conf/distro/include/tcmode-default.inc
+++ b/meta/conf/distro/include/tcmode-default.inc
@@ -20,7 +20,7 @@  GCCVERSION ?= "13.%"
 SDKGCCVERSION ?= "${GCCVERSION}"
 BINUVERSION ?= "2.42%"
 GDBVERSION ?= "14.%"
-GLIBCVERSION ?= "2.38%"
+GLIBCVERSION ?= "2.39%"
 LINUXLIBCVERSION ?= "6.6%"
 QEMUVERSION ?= "8.2%"
 GOVERSION ?= "1.20%"
diff --git a/meta/recipes-core/glibc/cross-localedef-native_2.38.bb b/meta/recipes-core/glibc/cross-localedef-native_2.39.bb
similarity index 96%
rename from meta/recipes-core/glibc/cross-localedef-native_2.38.bb
rename to meta/recipes-core/glibc/cross-localedef-native_2.39.bb
index e7261a644bb..fed6e4ea970 100644
--- a/meta/recipes-core/glibc/cross-localedef-native_2.38.bb
+++ b/meta/recipes-core/glibc/cross-localedef-native_2.39.bb
@@ -3,7 +3,7 @@  HOMEPAGE = "http://www.gnu.org/software/libc/libc.html"
 SECTION = "libs"
 LICENSE = "LGPL-2.1-only"
 
-LIC_FILES_CHKSUM = "file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba \
+LIC_FILES_CHKSUM = "file://LICENSES;md5=f77e878d320e99e94ae9a4aea7f491d1 \
       file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
       file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
       file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
diff --git a/meta/recipes-core/glibc/glibc-common.inc b/meta/recipes-core/glibc/glibc-common.inc
index be33c29857c..b9516e77f08 100644
--- a/meta/recipes-core/glibc/glibc-common.inc
+++ b/meta/recipes-core/glibc/glibc-common.inc
@@ -4,7 +4,7 @@  HOMEPAGE = "http://www.gnu.org/software/libc/libc.html"
 SECTION = "libs"
 LICENSE = "GPL-2.0-only & LGPL-2.1-only"
 
-LIC_FILES_CHKSUM ?= "file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba \
+LIC_FILES_CHKSUM ?= "file://LICENSES;md5=f77e878d320e99e94ae9a4aea7f491d1 \
       file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
       file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
       file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
@@ -22,4 +22,4 @@  ARM_INSTRUCTION_SET:armv6 = "arm"
 #
 COMPATIBLE_HOST:libc-musl:class-target = "null"
 
-PV = "2.38"
+PV = "2.39+git"
diff --git a/meta/recipes-core/glibc/glibc-locale_2.38.bb b/meta/recipes-core/glibc/glibc-locale_2.39.bb
similarity index 100%
rename from meta/recipes-core/glibc/glibc-locale_2.38.bb
rename to meta/recipes-core/glibc/glibc-locale_2.39.bb
diff --git a/meta/recipes-core/glibc/glibc-mtrace_2.38.bb b/meta/recipes-core/glibc/glibc-mtrace_2.39.bb
similarity index 100%
rename from meta/recipes-core/glibc/glibc-mtrace_2.38.bb
rename to meta/recipes-core/glibc/glibc-mtrace_2.39.bb
diff --git a/meta/recipes-core/glibc/glibc-scripts_2.38.bb b/meta/recipes-core/glibc/glibc-scripts_2.39.bb
similarity index 100%
rename from meta/recipes-core/glibc/glibc-scripts_2.38.bb
rename to meta/recipes-core/glibc/glibc-scripts_2.39.bb
diff --git a/meta/recipes-core/glibc/glibc-testsuite_2.38.bb b/meta/recipes-core/glibc/glibc-testsuite_2.39.bb
similarity index 100%
rename from meta/recipes-core/glibc/glibc-testsuite_2.38.bb
rename to meta/recipes-core/glibc/glibc-testsuite_2.39.bb
diff --git a/meta/recipes-core/glibc/glibc-version.inc b/meta/recipes-core/glibc/glibc-version.inc
index 5f24a108267..848648b5994 100644
--- a/meta/recipes-core/glibc/glibc-version.inc
+++ b/meta/recipes-core/glibc/glibc-version.inc
@@ -1,7 +1,7 @@ 
-SRCBRANCH ?= "release/2.38/master"
-PV = "2.38+git"
-SRCREV_glibc ?= "1e04dcec491bd8f48b5b74ce3e8414132578a645"
-SRCREV_localedef ?= "e0eca29583b9e0f62645c4316ced93cf4e4e26e1"
+SRCBRANCH ?= "release/2.39/master"
+PV = "2.39+git"
+SRCREV_glibc ?= "6d1e3fb07b45e2e31e469b16cf21b24bccf8914c"
+SRCREV_localedef ?= "fab74f31b3811df543e24b6de47efdf45b538abc"
 
 GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git;protocol=https"
 
diff --git a/meta/recipes-core/glibc/glibc-y2038-tests_2.38.bb b/meta/recipes-core/glibc/glibc-y2038-tests_2.39.bb
similarity index 100%
rename from meta/recipes-core/glibc/glibc-y2038-tests_2.38.bb
rename to meta/recipes-core/glibc/glibc-y2038-tests_2.39.bb
diff --git a/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch b/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch
index eb3da94b8ba..4f919078dd0 100644
--- a/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch
+++ b/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch
@@ -1,4 +1,4 @@ 
-From 7c06ca59b47ce06f785b9fce7b9e9d675d5b6e10 Mon Sep 17 00:00:00 2001
+From 544d23dea91b2be793c805b9e4bce8cd1d28121f Mon Sep 17 00:00:00 2001
 From: Jason Wessel <jason.wessel@windriver.com>
 Date: Sat, 7 Dec 2019 09:59:22 -0800
 Subject: [PATCH] localedef: Add hardlink resolver from util-linux
diff --git a/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch b/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch
index 2dc4634dd5c..7c8fa973ec3 100644
--- a/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch
+++ b/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch
@@ -1,4 +1,4 @@ 
-From 9ff5200eb16e9c89ca8da89d7e07975d082a13b0 Mon Sep 17 00:00:00 2001
+From ebb1e37285ab541135005cfe945b7a58e4b95040 Mon Sep 17 00:00:00 2001
 From: Jason Wessel <jason.wessel@windriver.com>
 Date: Sat, 7 Dec 2019 10:01:37 -0800
 Subject: [PATCH] localedef: fix-ups hardlink to make it compile
diff --git a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
index f2602d0e567..bd4b5aa98b3 100644
--- a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
+++ b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
@@ -1,4 +1,4 @@ 
-From 0d996c5600603a67f0265e870511cdd18dbaa8a6 Mon Sep 17 00:00:00 2001
+From 9770abfda8e85fe027f95871bc03450d05b1e2c8 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 01:48:24 +0000
 Subject: [PATCH] nativesdk-glibc: Look for host system ld.so.cache as well
@@ -30,10 +30,10 @@  Signed-off-by: Khem Raj <raj.khem@gmail.com>
  1 file changed, 8 insertions(+), 8 deletions(-)
 
 diff --git a/elf/dl-load.c b/elf/dl-load.c
-index 9a87fda9c9..0a6fa9b8f0 100644
+index ce8fdea302..1f502eb026 100644
 --- a/elf/dl-load.c
 +++ b/elf/dl-load.c
-@@ -2102,6 +2102,14 @@ _dl_map_object (struct link_map *loader, const char *name,
+@@ -2105,6 +2105,14 @@ _dl_map_object (struct link_map *loader, const char *name,
              }
          }
  
@@ -48,7 +48,7 @@  index 9a87fda9c9..0a6fa9b8f0 100644
  #ifdef USE_LDCONFIG
        if (fd == -1
  	  && (__glibc_likely ((mode & __RTLD_SECURE) == 0)
-@@ -2160,14 +2168,6 @@ _dl_map_object (struct link_map *loader, const char *name,
+@@ -2163,14 +2171,6 @@ _dl_map_object (struct link_map *loader, const char *name,
  	}
  #endif
  
diff --git a/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch b/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
index 974312367e8..19fc561a068 100644
--- a/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
+++ b/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
@@ -1,4 +1,4 @@ 
-From c3492719b2deaf3339eefb1ab30f4337e592ed80 Mon Sep 17 00:00:00 2001
+From 587b92ff99e6d8f59c461ee8beecae39d8818f7e Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 01:50:00 +0000
 Subject: [PATCH] nativesdk-glibc: Fix buffer overrun with a relocated SDK
@@ -21,7 +21,7 @@  Signed-off-by: Khem Raj <raj.khem@gmail.com>
  1 file changed, 12 insertions(+)
 
 diff --git a/elf/dl-load.c b/elf/dl-load.c
-index 0a6fa9b8f0..3a23dc618c 100644
+index 1f502eb026..c4a543fb00 100644
 --- a/elf/dl-load.c
 +++ b/elf/dl-load.c
 @@ -1802,7 +1802,19 @@ open_path (const char *name, size_t namelen, int mode,
diff --git a/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch b/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
index 086e0c6f143..55892417f49 100644
--- a/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
+++ b/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
@@ -1,4 +1,4 @@ 
-From e874dacbfdb06520240887e9077c58006ee33f87 Mon Sep 17 00:00:00 2001
+From 49caf586b80ba030a0ee4af9f6128ff2979ea636 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 01:51:38 +0000
 Subject: [PATCH] nativesdk-glibc: Raise the size of arrays containing dl paths
@@ -26,7 +26,7 @@  Signed-off-by: Khem Raj <raj.khem@gmail.com>
  8 files changed, 15 insertions(+), 10 deletions(-)
 
 diff --git a/elf/dl-cache.c b/elf/dl-cache.c
-index 804bf23222..d99501c389 100644
+index 85f3f179ed..cc55887c56 100644
 --- a/elf/dl-cache.c
 +++ b/elf/dl-cache.c
 @@ -352,6 +352,10 @@ search_cache (const char *string_table, uint32_t string_table_size,
@@ -41,7 +41,7 @@  index 804bf23222..d99501c389 100644
  _dl_cache_libcmp (const char *p1, const char *p2)
  {
 diff --git a/elf/dl-load.c b/elf/dl-load.c
-index 3a23dc618c..563e703096 100644
+index c4a543fb00..27fb70f09b 100644
 --- a/elf/dl-load.c
 +++ b/elf/dl-load.c
 @@ -117,8 +117,8 @@ enum { ncapstr = 1, max_capstrlen = 0 };
@@ -56,7 +56,7 @@  index 3a23dc618c..563e703096 100644
    SYSTEM_DIRS_LEN
  };
 diff --git a/elf/dl-usage.c b/elf/dl-usage.c
-index 98f0b0d027..ab4f76e1fe 100644
+index 5baac4ba8e..60097ad0e2 100644
 --- a/elf/dl-usage.c
 +++ b/elf/dl-usage.c
 @@ -25,6 +25,8 @@
@@ -68,7 +68,7 @@  index 98f0b0d027..ab4f76e1fe 100644
  void
  _dl_usage (const char *argv0, const char *wrong_option)
  {
-@@ -184,7 +186,7 @@ setting environment variables (which would be inherited by subprocesses).\n\
+@@ -185,7 +187,7 @@ setting environment variables (which would be inherited by subprocesses).\n\
    --list                list all dependencies and how they are resolved\n\
    --verify              verify that given object really is a dynamically linked\n\
                          object we can handle\n\
@@ -77,7 +77,7 @@  index 98f0b0d027..ab4f76e1fe 100644
    --library-path PATH   use given PATH instead of content of the environment\n\
                          variable LD_LIBRARY_PATH\n\
    --glibc-hwcaps-prepend LIST\n\
-@@ -203,7 +205,7 @@ setting environment variables (which would be inherited by subprocesses).\n\
+@@ -204,7 +206,7 @@ setting environment variables (which would be inherited by subprocesses).\n\
  \n\
  This program interpreter self-identifies as: " RTLD "\n\
  ",
@@ -87,7 +87,7 @@  index 98f0b0d027..ab4f76e1fe 100644
    print_hwcaps_subdirectories (state);
    _exit (EXIT_SUCCESS);
 diff --git a/elf/interp.c b/elf/interp.c
-index ae21ae0cb3..b168e6da66 100644
+index 8b705824bf..7d094829f3 100644
 --- a/elf/interp.c
 +++ b/elf/interp.c
 @@ -18,5 +18,5 @@
@@ -98,7 +98,7 @@  index ae21ae0cb3..b168e6da66 100644
 +const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp")))
    = RUNTIME_LINKER;
 diff --git a/elf/ldconfig.c b/elf/ldconfig.c
-index d26eef1fb4..e5af6e5c01 100644
+index b64c54b53e..caf7001745 100644
 --- a/elf/ldconfig.c
 +++ b/elf/ldconfig.c
 @@ -150,6 +150,8 @@ static struct argp argp =
@@ -111,7 +111,7 @@  index d26eef1fb4..e5af6e5c01 100644
  static error_t
  parse_opt (int key, char *arg, struct argp_state *state)
 diff --git a/elf/rtld.c b/elf/rtld.c
-index a91e2a4471..56d816d4d9 100644
+index 4f494b792e..d1c1252188 100644
 --- a/elf/rtld.c
 +++ b/elf/rtld.c
 @@ -190,6 +190,7 @@ dso_name_valid_for_suid (const char *p)
@@ -123,7 +123,7 @@  index a91e2a4471..56d816d4d9 100644
  static void
  audit_list_init (struct audit_list *list)
 diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c
-index ee9e97e1bd..01a99382d0 100644
+index 1063c31a2b..57fa832e52 100644
 --- a/iconv/gconv_conf.c
 +++ b/iconv/gconv_conf.c
 @@ -35,7 +35,7 @@
@@ -136,7 +136,7 @@  index ee9e97e1bd..01a99382d0 100644
  /* Type to represent search path.  */
  struct path_elem
 diff --git a/sysdeps/generic/dl-cache.h b/sysdeps/generic/dl-cache.h
-index bd39ff7fb7..38f9e2ad57 100644
+index 919e49ffc8..cd3f8ba94b 100644
 --- a/sysdeps/generic/dl-cache.h
 +++ b/sysdeps/generic/dl-cache.h
 @@ -34,10 +34,6 @@
diff --git a/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch b/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
index 421afdca1ca..56eaaed4b7c 100644
--- a/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
+++ b/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
@@ -1,4 +1,4 @@ 
-From 76eaf7340a7f9063ab1ad2d7c6c0e205f22f544c Mon Sep 17 00:00:00 2001
+From 3a94365c730d174a3c30c6d9282e6ca12d9ad091 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 31 Dec 2015 14:35:35 -0800
 Subject: [PATCH] nativesdk-glibc: Allow 64 bit atomics for x86
@@ -17,7 +17,7 @@  Signed-off-by: Khem Raj <raj.khem@gmail.com>
  1 file changed, 1 insertion(+), 6 deletions(-)
 
 diff --git a/sysdeps/x86/atomic-machine.h b/sysdeps/x86/atomic-machine.h
-index 95663099e4..4d81efc51a 100644
+index cfd395087b..28a937c468 100644
 --- a/sysdeps/x86/atomic-machine.h
 +++ b/sysdeps/x86/atomic-machine.h
 @@ -26,19 +26,14 @@
diff --git a/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch b/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch
index 64243b10981..54c085a7144 100644
--- a/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch
+++ b/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch
@@ -1,4 +1,4 @@ 
-From ef8bb46455d602cb00caf59b2044a9a23b240cc2 Mon Sep 17 00:00:00 2001
+From 296bdde0683aa55cdea0fd0cab05ff8fbc462b17 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 3 Aug 2018 09:55:12 -0700
 Subject: [PATCH] nativesdk-glibc: Make relocatable install for locales
@@ -19,7 +19,7 @@  Signed-off-by: Khem Raj <raj.khem@gmail.com>
  4 files changed, 8 insertions(+), 7 deletions(-)
 
 diff --git a/locale/findlocale.c b/locale/findlocale.c
-index 1b7034348b..939d4fd613 100644
+index 8d6e4e33e3..bfe74f241d 100644
 --- a/locale/findlocale.c
 +++ b/locale/findlocale.c
 @@ -55,7 +55,7 @@ struct __locale_data *const _nl_C[] attribute_hidden =
@@ -41,7 +41,7 @@  index 1b7034348b..939d4fd613 100644
    else
      /* We really have to load some data.  First see whether the name is
 diff --git a/locale/loadarchive.c b/locale/loadarchive.c
-index 5b857d5d24..e642912e2a 100644
+index 452e3eb6e3..c7467aec42 100644
 --- a/locale/loadarchive.c
 +++ b/locale/loadarchive.c
 @@ -42,7 +42,7 @@
@@ -54,7 +54,7 @@  index 5b857d5d24..e642912e2a 100644
  /* Size of initial mapping window, optimal if large enough to
     cover the header plus the initial locale.  */
 diff --git a/locale/localeinfo.h b/locale/localeinfo.h
-index 8bbf281427..7a930079a5 100644
+index ed698faef1..f7efc288a5 100644
 --- a/locale/localeinfo.h
 +++ b/locale/localeinfo.h
 @@ -347,7 +347,7 @@ _nl_lookup_word (locale_t l, int category, int item)
@@ -67,7 +67,7 @@  index 8bbf281427..7a930079a5 100644
  /* Load the locale data for CATEGORY from the file specified by *NAME.
     If *NAME is "", use environment variables as specified by POSIX, and
 diff --git a/locale/programs/locale.c b/locale/programs/locale.c
-index 1d1a9b2f00..d9ed395b39 100644
+index c7ee1874e8..8281e32236 100644
 --- a/locale/programs/locale.c
 +++ b/locale/programs/locale.c
 @@ -631,6 +631,7 @@ nameentcmp (const void *a, const void *b)
diff --git a/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch b/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch
index 38dca83b1b4..096764009a1 100644
--- a/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch
+++ b/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch
@@ -1,4 +1,4 @@ 
-From 7f05e35c675a6d1af2144b4cfbabab250de43f38 Mon Sep 17 00:00:00 2001
+From 70da806febac8b2eead6ddc32451bbc1787a1d7d Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 6 Mar 2021 14:48:56 -0800
 Subject: [PATCH] nativesdk-glibc: Fall back to faccessat on faccess2 returns
@@ -14,7 +14,7 @@  Signed-off-by: Khem Raj <raj.khem@gmail.com>
  1 file changed, 5 insertions(+), 1 deletion(-)
 
 diff --git a/sysdeps/unix/sysv/linux/faccessat.c b/sysdeps/unix/sysv/linux/faccessat.c
-index 0ccbd778b5..9df1a0fe12 100644
+index 2fa57fd63d..4d0d5ff0c4 100644
 --- a/sysdeps/unix/sysv/linux/faccessat.c
 +++ b/sysdeps/unix/sysv/linux/faccessat.c
 @@ -30,7 +30,11 @@ __faccessat (int fd, const char *file, int mode, int flag)
diff --git a/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch b/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch
index 61fdcb08167..364e5cfde82 100644
--- a/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch
+++ b/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch
@@ -1,4 +1,4 @@ 
-From 70e721856c3ebf6ae0ea84b828396bd2af090acf Mon Sep 17 00:00:00 2001
+From 2192588942c5bc3b5fa10fc6d7433923f42e9ba0 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:31:06 +0000
 Subject: [PATCH] 'yes' within the path sets wrong config variables
diff --git a/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch b/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch
index ffbe138ff1c..d7f15c1cfa2 100644
--- a/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch
+++ b/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch
@@ -1,4 +1,4 @@ 
-From 9625e90bdf35774c71f1e566e73d435e38c04171 Mon Sep 17 00:00:00 2001
+From ce8b13bdf488058754fce573754cea0b022c37e2 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:42:58 +0000
 Subject: [PATCH] eglibc: Cross building and testing instructions
diff --git a/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch b/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch
index 88017bd29b0..82a32926555 100644
--- a/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch
+++ b/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch
@@ -1,4 +1,4 @@ 
-From cf2126b2d6e073137a3a7d9bcc261e0a760a82da Mon Sep 17 00:00:00 2001
+From 65b79161b9e2848a174d3519a03348884f182975 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:49:28 +0000
 Subject: [PATCH] eglibc: Help bootstrap cross toolchain
@@ -29,7 +29,7 @@  Signed-off-by: Khem Raj <raj.khem@gmail.com>
  create mode 100644 include/stubs-bootstrap.h
 
 diff --git a/Makefile b/Makefile
-index c6d4817a9e..b4b0e23560 100644
+index 7052b46df8..46073abaa8 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -79,9 +79,18 @@ subdir-dirs = include
diff --git a/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch b/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch
index fee020cc4cc..e726a9e76fe 100644
--- a/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch
+++ b/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch
@@ -1,4 +1,4 @@ 
-From 61948c02226acea68d34313cc6286ee1ab44a98c Mon Sep 17 00:00:00 2001
+From 07a5fa22a9a8bbd43982c1b35132f8c2d5276bfe Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:55:53 +0000
 Subject: [PATCH] eglibc: Resolve __fpscr_values on SH4
@@ -33,7 +33,7 @@  index 3ad702e165..931985b5d6 100644
      # a*
      alphasort64;
 diff --git a/sysdeps/unix/sysv/linux/sh/sysdep.S b/sysdeps/unix/sysv/linux/sh/sysdep.S
-index 9d85ff99a0..6bda921ca3 100644
+index d5d8c5e033..f356d02077 100644
 --- a/sysdeps/unix/sysv/linux/sh/sysdep.S
 +++ b/sysdeps/unix/sysv/linux/sh/sysdep.S
 @@ -30,3 +30,14 @@ ENTRY (__syscall_error)
diff --git a/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch b/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch
index 60bcab0fecd..f36b7f6f4cc 100644
--- a/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch
+++ b/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch
@@ -1,4 +1,4 @@ 
-From befa58c48a8ba664e7bbdfcf22e2a15efa2e0d17 Mon Sep 17 00:00:00 2001
+From 33e9867758e830e19d181d5a0aa7f2f3cc4a08b3 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 01:33:49 +0000
 Subject: [PATCH] eglibc: Forward port cross locale generation support
@@ -7,7 +7,7 @@  Upstream-Status: Pending
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
- locale/Makefile               |  3 +-
+ locale/Makefile               |  1 +
  locale/catnames.c             | 46 +++++++++++++++++++++++++++
  locale/localeinfo.h           |  2 +-
  locale/programs/charmap-dir.c |  6 ++++
@@ -19,23 +19,21 @@  Signed-off-by: Khem Raj <raj.khem@gmail.com>
  locale/programs/locfile.c     |  5 ++-
  locale/programs/locfile.h     | 59 +++++++++++++++++++++++++++++++++--
  locale/setlocale.c            | 29 -----------------
- 12 files changed, 167 insertions(+), 68 deletions(-)
+ 12 files changed, 166 insertions(+), 67 deletions(-)
  create mode 100644 locale/catnames.c
 
 diff --git a/locale/Makefile b/locale/Makefile
-index d7036b0855..ed795e2710 100644
+index 2810f28605..05f847f9a6 100644
 --- a/locale/Makefile
 +++ b/locale/Makefile
-@@ -26,7 +26,8 @@ headers		= langinfo.h locale.h bits/locale.h \
- 		  bits/types/locale_t.h bits/types/__locale_t.h
- routines	= setlocale findlocale loadlocale loadarchive \
- 		  localeconv nl_langinfo nl_langinfo_l mb_cur_max \
--		  newlocale duplocale freelocale uselocale
-+		  newlocale duplocale freelocale uselocale \
-+		  catnames
- tests		= tst-C-locale tst-locname tst-duplocale
- tests-container	= tst-localedef-path-norm
- categories	= ctype messages monetary numeric time paper name \
+@@ -30,6 +30,7 @@ headers = \
+   locale.h \
+   # headers
+ routines = \
++	catnames \
+   duplocale \
+   findlocale \
+   freelocale \
 diff --git a/locale/catnames.c b/locale/catnames.c
 new file mode 100644
 index 0000000000..538f3f5edb
@@ -89,7 +87,7 @@  index 0000000000..538f3f5edb
 +    [LC_ALL] = sizeof ("LC_ALL") - 1
 +  };
 diff --git a/locale/localeinfo.h b/locale/localeinfo.h
-index 7a930079a5..05d7848d29 100644
+index f7efc288a5..6ef082eb25 100644
 --- a/locale/localeinfo.h
 +++ b/locale/localeinfo.h
 @@ -246,7 +246,7 @@ __libc_tsd_define (extern, locale_t, LOCALE)
@@ -102,7 +100,7 @@  index 7a930079a5..05d7848d29 100644
  # define NL_CURRENT_INDIRECT	1
  #endif
 diff --git a/locale/programs/charmap-dir.c b/locale/programs/charmap-dir.c
-index 9582f2d167..8f9f3f582c 100644
+index 36504f238d..56ee97e61b 100644
 --- a/locale/programs/charmap-dir.c
 +++ b/locale/programs/charmap-dir.c
 @@ -18,7 +18,9 @@
@@ -148,7 +146,7 @@  index 9582f2d167..8f9f3f582c 100644
    return NULL;
  }
 diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
-index 2c9f540bf1..c937cfd2ab 100644
+index 5048adbd9f..4232834ead 100644
 --- a/locale/programs/ld-collate.c
 +++ b/locale/programs/ld-collate.c
 @@ -352,7 +352,7 @@ new_element (struct locale_collate_t *collate, const char *mbs, size_t mbslen,
@@ -197,7 +195,7 @@  index 2c9f540bf1..c937cfd2ab 100644
  			 == runp->wcnext->wcs[runp->nwcs - 1] + 1));
  
 diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c
-index d285b72611..4bf01fa3db 100644
+index eb6e7e145c..14736d1cac 100644
 --- a/locale/programs/ld-ctype.c
 +++ b/locale/programs/ld-ctype.c
 @@ -914,7 +914,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap,
@@ -279,7 +277,7 @@  index d285b72611..4bf01fa3db 100644
  	      srunp = srunp->next;
  	    }
 diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c
-index a590b013b3..5ed4fa0f59 100644
+index 1abff3cf53..8a2f2b820a 100644
 --- a/locale/programs/ld-time.c
 +++ b/locale/programs/ld-time.c
 @@ -219,8 +219,10 @@ No definition for %s category found"), "LC_TIME");
@@ -348,7 +346,7 @@  index a590b013b3..5ed4fa0f59 100644
  
  
 diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c
-index f8c49ac06f..ddda006037 100644
+index 61373d2657..7ec5726377 100644
 --- a/locale/programs/linereader.c
 +++ b/locale/programs/linereader.c
 @@ -776,7 +776,7 @@ get_string (struct linereader *lr, const struct charmap_t *charmap,
@@ -361,7 +359,7 @@  index f8c49ac06f..ddda006037 100644
    lr_buffer_init (&lrb);
  
 diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c
-index 1b751bb7be..c255e2b436 100644
+index 907bb5fb25..3106529043 100644
 --- a/locale/programs/localedef.c
 +++ b/locale/programs/localedef.c
 @@ -108,6 +108,7 @@ void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
@@ -407,7 +405,7 @@  index 1b751bb7be..c255e2b436 100644
        force_output = 1;
        break;
 diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c
-index e3eef59295..711d6fbea0 100644
+index 6c6ebf2dd6..cc02ab82bf 100644
 --- a/locale/programs/locfile.c
 +++ b/locale/programs/locfile.c
 @@ -543,6 +543,9 @@ compare_files (const char *filename1, const char *filename2, size_t size,
@@ -430,7 +428,7 @@  index e3eef59295..711d6fbea0 100644
  
  /* Record that FILE's next element is the 32-bit integer VALUE.  */
 diff --git a/locale/programs/locfile.h b/locale/programs/locfile.h
-index 5caf5c348f..76856a32c2 100644
+index 3afb0a8d29..46785374e8 100644
 --- a/locale/programs/locfile.h
 +++ b/locale/programs/locfile.h
 @@ -70,6 +70,8 @@ extern void write_all_categories (struct localedef_t *definitions,
@@ -519,7 +517,7 @@  index 5caf5c348f..76856a32c2 100644
 +
  #endif /* locfile.h */
 diff --git a/locale/setlocale.c b/locale/setlocale.c
-index 6a902faa50..17413f0a9c 100644
+index 7bd27e5398..2f194bad7c 100644
 --- a/locale/setlocale.c
 +++ b/locale/setlocale.c
 @@ -63,35 +63,6 @@ static char *const _nl_current_used[] =
diff --git a/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch b/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
index 3e7d5b74c1b..daeff7b0653 100644
--- a/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
+++ b/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
@@ -1,4 +1,4 @@ 
-From 653b0631f80f17abe01957c06ef8a8d5d189b789 Mon Sep 17 00:00:00 2001
+From f4b1d6429298c0f8a2aa29ff559eb2093ea0188f Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 3 Aug 2018 09:42:06 -0700
 Subject: [PATCH] localedef --add-to-archive uses a hard-coded locale path
@@ -18,7 +18,7 @@  Signed-off-by: Khem Raj <raj.khem@gmail.com>
  1 file changed, 25 insertions(+), 10 deletions(-)
 
 diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
-index 71fd9f34fa..cd3eb90ad5 100644
+index 8d79a1b6d1..6dc7ecd4e7 100644
 --- a/locale/programs/locarchive.c
 +++ b/locale/programs/locarchive.c
 @@ -339,12 +339,24 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head)
diff --git a/meta/recipes-core/glibc/glibc/0015-powerpc-Do-not-ask-compiler-for-finding-arch.patch b/meta/recipes-core/glibc/glibc/0015-powerpc-Do-not-ask-compiler-for-finding-arch.patch
index ff49a71bb21..8dd1f0a6567 100644
--- a/meta/recipes-core/glibc/glibc/0015-powerpc-Do-not-ask-compiler-for-finding-arch.patch
+++ b/meta/recipes-core/glibc/glibc/0015-powerpc-Do-not-ask-compiler-for-finding-arch.patch
@@ -1,4 +1,4 @@ 
-From fae5ee7d7b9dca2f25684a99f7046042d870235f Mon Sep 17 00:00:00 2001
+From 2d064c0c1243ea0bf405909285d7cddca92cf097 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 7 Aug 2020 14:31:16 -0700
 Subject: [PATCH] powerpc: Do not ask compiler for finding arch
diff --git a/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch b/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch
index b7b4046efc3..066c3b1ea29 100644
--- a/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch
+++ b/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch
@@ -1,4 +1,4 @@ 
-From 91a7848698ce6c96c646f3a170714ee71eab6884 Mon Sep 17 00:00:00 2001
+From b1c374f7ede81a98f2d02def2c7ca17f1001f7cb Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 15 May 2020 17:05:45 -0700
 Subject: [PATCH] wordsize.h: Unify the header between arm and aarch64
@@ -17,7 +17,7 @@  Signed-off-by: Khem Raj <raj.khem@gmail.com>
  create mode 120000 sysdeps/arm/bits/wordsize.h
 
 diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/aarch64/bits/wordsize.h
-index 04d4be9519..63876a7830 100644
+index 118e59172d..b4b0692eb5 100644
 --- a/sysdeps/aarch64/bits/wordsize.h
 +++ b/sysdeps/aarch64/bits/wordsize.h
 @@ -17,12 +17,16 @@
diff --git a/meta/recipes-core/glibc/glibc/0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch b/meta/recipes-core/glibc/glibc/0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch
index f2ed8210815..d8c0b1b4add 100644
--- a/meta/recipes-core/glibc/glibc/0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch
+++ b/meta/recipes-core/glibc/glibc/0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch
@@ -1,4 +1,4 @@ 
-From 63611cfd3b25f3656db168aee41a5850ac769dfc Mon Sep 17 00:00:00 2001
+From 0aac3b8ee5b13e289b6969da51de384443286a5b Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 31 Dec 2015 14:33:02 -0800
 Subject: [PATCH] Replace echo with printf builtin in nscd init script
diff --git a/meta/recipes-core/glibc/glibc/0018-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch b/meta/recipes-core/glibc/glibc/0018-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch
index 12a460664f0..c81f82f4335 100644
--- a/meta/recipes-core/glibc/glibc/0018-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch
+++ b/meta/recipes-core/glibc/glibc/0018-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch
@@ -1,4 +1,4 @@ 
-From 912ccb5001ffa5355caff09354558e89e9aa937b Mon Sep 17 00:00:00 2001
+From 7a25d4796411f22f824742092a4c2a08df99752d Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:27:10 +0000
 Subject: [PATCH] sysdeps/gnu/configure.ac: Set libc_cv_rootsbindir only if its
diff --git a/meta/recipes-core/glibc/glibc/0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch b/meta/recipes-core/glibc/glibc/0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch
index 359b1c37e5e..d724c3e968d 100644
--- a/meta/recipes-core/glibc/glibc/0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch
+++ b/meta/recipes-core/glibc/glibc/0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch
@@ -1,4 +1,4 @@ 
-From 1d518ac57b00a3335f80f10f899c1bc24a0ddbf5 Mon Sep 17 00:00:00 2001
+From 6aa1b835d95482287851e02abd3a406cbd0ef8c7 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 9 Dec 2021 15:14:42 -0800
 Subject: [PATCH] timezone: Make shell interpreter overridable in tzselect.ksh
@@ -14,7 +14,7 @@  Signed-off-by: Khem Raj <raj.khem@gmail.com>
  2 files changed, 10 insertions(+)
 
 diff --git a/Makeconfig b/Makeconfig
-index 77d7fd14df..e253046861 100644
+index 85e00cef94..643724108a 100644
 --- a/Makeconfig
 +++ b/Makeconfig
 @@ -309,6 +309,15 @@ ifndef sysincludedir
@@ -34,7 +34,7 @@  index 77d7fd14df..e253046861 100644
  # Commands to install files.
  ifndef INSTALL_DATA
 diff --git a/timezone/Makefile b/timezone/Makefile
-index 0306c0bca9..4dfdcebdb7 100644
+index d7acb387ba..ec79326f66 100644
 --- a/timezone/Makefile
 +++ b/timezone/Makefile
 @@ -136,6 +136,7 @@ $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make
diff --git a/meta/recipes-core/glibc/glibc/0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch b/meta/recipes-core/glibc/glibc/0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch
index 9a1bfdd6af3..08c60a271b4 100644
--- a/meta/recipes-core/glibc/glibc/0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch
+++ b/meta/recipes-core/glibc/glibc/0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch
@@ -1,4 +1,4 @@ 
-From 7274541782927394852712ba0c8dfd67bd9b8b5b Mon Sep 17 00:00:00 2001
+From ef47e6199986c4951e681ed74f064042db1ae2e1 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 15 Dec 2021 21:47:53 -0800
 Subject: [PATCH] tzselect.ksh: Use /bin/sh default shell interpreter
diff --git a/meta/recipes-core/glibc/glibc/0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch b/meta/recipes-core/glibc/glibc/0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch
index 3b567cc9ab1..d57dce125c7 100644
--- a/meta/recipes-core/glibc/glibc/0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch
+++ b/meta/recipes-core/glibc/glibc/0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch
@@ -1,4 +1,4 @@ 
-From 4a1bff4c1e34ad9b596a7ba44ab61f4c9d00097b Mon Sep 17 00:00:00 2001
+From 7254706544be5100843fc0a332e836fccffc9ef1 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Sun, 29 Aug 2021 20:49:16 +0800
 Subject: [PATCH] fix create thread failed in unprivileged process [BZ #28287]
@@ -72,10 +72,10 @@  Signed-off-by: Khem Raj <raj.khem@gmail.com>
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/sysdeps/unix/sysv/linux/clone-internal.c b/sysdeps/unix/sysv/linux/clone-internal.c
-index 790739cfce..8d24d04917 100644
+index 40ef30303f..f97b1f6900 100644
 --- a/sysdeps/unix/sysv/linux/clone-internal.c
 +++ b/sysdeps/unix/sysv/linux/clone-internal.c
-@@ -106,7 +106,7 @@ __clone_internal (struct clone_args *cl_args,
+@@ -98,7 +98,7 @@ __clone_internal (struct clone_args *cl_args,
  #ifdef HAVE_CLONE3_WRAPPER
    int saved_errno = errno;
    int ret = __clone3_internal (cl_args, func, arg);
diff --git a/meta/recipes-core/glibc/glibc/0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch b/meta/recipes-core/glibc/glibc/0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch
index 55c81f38aa3..b527ddffc83 100644
--- a/meta/recipes-core/glibc/glibc/0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch
+++ b/meta/recipes-core/glibc/glibc/0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch
@@ -1,4 +1,4 @@ 
-From e61792fc978f9b8a9c790be468fbf97828ac8ae9 Mon Sep 17 00:00:00 2001
+From d39779afc72d34f87f052097592008cc38e20615 Mon Sep 17 00:00:00 2001
 From: Richard Purdie <richard.purdie@linuxfoundation.org>
 Date: Sun, 24 Jul 2022 07:07:29 -0700
 Subject: [PATCH] Avoid hardcoded build time paths in the output binaries
@@ -14,10 +14,10 @@  Signed-off-by: Khem Raj <raj.khem@gmail.com>
  1 file changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/support/Makefile b/support/Makefile
-index 917a858bd1..17a747c8c7 100644
+index 362a51f882..56d2b37058 100644
 --- a/support/Makefile
 +++ b/support/Makefile
-@@ -227,9 +227,9 @@ libsupport-inhibit-o += .o
+@@ -228,9 +228,9 @@ libsupport-inhibit-o += .o
  endif
  
  CFLAGS-support_paths.c = \
diff --git a/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch b/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch
index 7be9fc981d6..816471a8287 100644
--- a/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch
+++ b/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch
@@ -1,4 +1,4 @@ 
-From d836f008a96aa9b2e88c7b394bfc110542e57176 Mon Sep 17 00:00:00 2001
+From f761f5ca2d453e11d34fc7d552dab4a0e189dae9 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 4 Aug 2023 09:34:50 -0700
 Subject: [PATCH] aarch64/configure: Pass -mcpu along with -march to detect sve
@@ -51,6 +51,3 @@  index 8a708f2ef4..b6a146d2be 100644
    libc_cv_aarch64_sve_asm=yes
  else
    libc_cv_aarch64_sve_asm=no
--- 
-2.41.0
-
diff --git a/meta/recipes-core/glibc/glibc/0024-mips-FIx-clone3-implementation-BZ-31325.patch b/meta/recipes-core/glibc/glibc/0024-mips-FIx-clone3-implementation-BZ-31325.patch
new file mode 100644
index 00000000000..b391c609582
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc/0024-mips-FIx-clone3-implementation-BZ-31325.patch
@@ -0,0 +1,83 @@ 
+From b471cadd57e3fc1fce74b33fcf75c6844cfd68b3 Mon Sep 17 00:00:00 2001
+From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
+Date: Thu, 1 Feb 2024 14:41:03 -0300
+Subject: [PATCH] mips: FIx clone3 implementation (BZ 31325)
+
+For o32 we need to setup a minimal stack frame to allow cprestore
+on __thread_start_clone3 (which instruct the linker to save the
+gp for PIC).  Also, there is no guarantee by kABI that $8 will be
+preserved after syscall execution, so we need to save it on the
+provided stack.
+
+Checked on mipsel-linux-gnu.
+
+Upstream-Status: Submitted [https://patchwork.sourceware.org/project/glibc/patch/20240201174103.798138-1-adhemerval.zanella@linaro.org/]
+Reported-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sysdeps/unix/sysv/linux/mips/clone3.S | 32 ++++++++++++++++++++++-----
+ 1 file changed, 27 insertions(+), 5 deletions(-)
+
+diff --git a/sysdeps/unix/sysv/linux/mips/clone3.S b/sysdeps/unix/sysv/linux/mips/clone3.S
+index e9fec2fa47..481b8ae963 100644
+--- a/sysdeps/unix/sysv/linux/mips/clone3.S
++++ b/sysdeps/unix/sysv/linux/mips/clone3.S
+@@ -37,11 +37,6 @@
+ 
+ 	.text
+ 	.set		nomips16
+-#if _MIPS_SIM == _ABIO32
+-# define EXTRA_LOCALS 1
+-#else
+-# define EXTRA_LOCALS 0
+-#endif
+ #define FRAMESZ ((NARGSAVE*SZREG)+ALSZ)&ALMASK
+ GPOFF= FRAMESZ-(1*SZREG)
+ NESTED(__clone3, SZREG, sp)
+@@ -68,8 +63,31 @@ NESTED(__clone3, SZREG, sp)
+ 	beqz	a0, L(error)	/* No NULL cl_args pointer.  */
+ 	beqz	a2, L(error)	/* No NULL function pointer.  */
+ 
++#if _MIPS_SIM == _ABIO32
++	/* Both stack and stack_size on clone_args are defined as uint64_t, and
++	   there is no need to handle values larger than to 32 bits for o32.  */
++# if __BYTE_ORDER == __BIG_ENDIAN
++#  define CL_STACKPOINTER_OFFSET  44
++#  define CL_STACKSIZE_OFFSET     52
++# else
++#  define CL_STACKPOINTER_OFFSET  40
++#  define CL_STACKSIZE_OFFSET     48
++# endif
++
++	/* For o32 we need to setup a minimal stack frame to allow cprestore
++	   on __thread_start_clone3.  Also there is no guarantee by kABI that
++	   $8 will be preserved after syscall execution (so we need to save it
++	   on the provided stack).  */
++	lw	t0, CL_STACKPOINTER_OFFSET(a0)	/* Load the stack pointer.  */
++	lw	t1, CL_STACKSIZE_OFFSET(a0)	/* Load the stack_size.  */
++	addiu	t1, -32				/* Update the stack size.  */
++	addu	t2, t1, t0			/* Calculate the thread stack.  */
++	sw	a3, 0(t2)			/* Save argument pointer.  */
++	sw	t1, CL_STACKSIZE_OFFSET(a0)	/* Save the new stack size.  */
++#else
+ 	move	$8, a3		/* a3 is set to 0/1 for syscall success/error
+ 				   while a4/$8 is returned unmodified.  */
++#endif
+ 
+ 	/* Do the system call, the kernel expects:
+ 	   v0: system call number
+@@ -125,7 +143,11 @@ L(thread_start_clone3):
+ 
+ 	/* Restore the arg for user's function.  */
+ 	move		t9, a2		/* Function pointer.  */
++#if _MIPS_SIM == _ABIO32
++	PTR_L		a0, 0(sp)
++#else
+ 	move		a0, $8		/* Argument pointer.  */
++#endif
+ 
+ 	/* Call the user's function.  */
+ 	jal		t9
+-- 
+2.43.0
+
diff --git a/meta/recipes-core/glibc/glibc_2.38.bb b/meta/recipes-core/glibc/glibc_2.39.bb
similarity index 98%
rename from meta/recipes-core/glibc/glibc_2.38.bb
rename to meta/recipes-core/glibc/glibc_2.39.bb
index 417f0c8bd0c..0273be713f8 100644
--- a/meta/recipes-core/glibc/glibc_2.38.bb
+++ b/meta/recipes-core/glibc/glibc_2.39.bb
@@ -51,6 +51,7 @@  SRC_URI =  "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
            file://0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \
            file://0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch \
            file://0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch \
+           file://0024-mips-FIx-clone3-implementation-BZ-31325.patch \
 "
 S = "${WORKDIR}/git"
 B = "${WORKDIR}/build-${TARGET_SYS}"