Your message dated Sun, 22 Jun 2025 10:20:39 +0000
with message-id <e1uthov-00aaqk...@respighi.debian.org>
and subject line unblock glibc
has caused the Debian Bug report #1107337,
regarding unblock: glibc/2.41-9 (pre-approval)
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1107337: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1107337
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: trixie security
X-Debbugs-Cc: gl...@packages.debian.org
Control: affects -1 + src:glibc
User: release.debian....@packages.debian.org
Usertags: unblock

Please pre-approve unblocking of package glibc/2.41-9

[ Reason ]
The upstream stable branch got a few fixes since the last upload
and this update pulls them into the debian package. From the changelog

    - Fix loading TLS-using modules using LD_AUDIT.
=> This fix a crash when TLS-using modules are used through LD_AUDIT.
The details about the issue are available upstream:
https://sourceware.org/bugzilla/show_bug.cgi?id=32412

    - Add tests for CVE-2025-4802.
=> The issue in CVE-2025-4802 was fixed in glibc 2.39, but not
identified as a security bug at that time. This is the case now so
additional tests have been added.

    - Fix swapped wcsncpy and wcpncpy function names in IFUNC
      definition.
=> The name of the wcsncpy and wcpncpy functions in the IFUNC definition
were swapped. Fortunately it is only used to determine the return type
of the functions, which is a wchar_t in both case. Better fix this
anyway.

    - Fix elf/tst-execstack-prog-static-tunable on sparc64.
=> This test has been added in 2.41-7, and uncovered a bug on sparc64.
This only changes sparc64 specific code, so it has no impact on the
release architecture.

IN ADDITION, the fixes for CVE-2025-5702 and CVE-2025-5745, affecting
the strcmp and strncmp on Power 10 CPUs, will be available soon and
backported to this upstream stable branch. If this get pre-approved, I
intend to upload glibc to sid as soon as the fix is available.

See https://sourceware.org/pipermail/libc-alpha/2025-June/167381.html
See https://sourceware.org/pipermail/libc-alpha/2025-June/167405.html

[ Impact ]
If the unblock isn't granted:
- Users with a Power 10 CPU will be vulnerable to CVE-2025-5702 and
  CVE-2025-5745
- Difference with the upstream stable branch will increase, which might
  make future updates more complicated

[ Tests ]
The TLS / LD_AUDIT changes come with additional tests. Overall tests represent 
the
major part of the debdiff.

[ Risks ]
I believe the risks are quite low, for release architectures except
ppc64el, the changes only affect the ld.so binary, and the version
number in the libc.so binary. Other binaries are bit to bit identical to
the previous version. The changes to ld.so are only relevant when using
LD_AUDIT.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

[ Other info ]
The debdiff doesn't include the fixes for CVE-2025-5702 and
CVE-2025-5745. I expect the fix to only change:
sysdeps/powerpc/powerpc64/le/power10/strcmp.S.
sysdeps/powerpc/powerpc64/le/power10/strncmp.S.

unblock glibc/2.41-9
commit 23058152a29832ceeadcd1507e53e84c21a3508d
Author: Aurelien Jarno <aurel...@aurel32.net>
Date:   Thu Jun 5 21:24:38 2025 +0200

    debian/patches/git-updates.diff: update from upstream stable branch:
    
    * debian/patches/git-updates.diff: update from upstream stable branch:
      - Fix loading TLS-using modules using LD_AUDIT.
      - Add tests for CVE-2025-4802.
      - Fix swapped wcsncpy and wcpncpy function names in IFUNC definition.
      - Fix elf/tst-execstack-prog-static-tunable on sparc64.

diff --git a/debian/changelog b/debian/changelog
index 920d3433..8362e02a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
+glibc (2.41-9) UNRELEASED; urgency=medium
+
+  [ Aurelien Jarno ]
+  * debian/patches/git-updates.diff: update from upstream stable branch:
+    - Fix loading TLS-using modules using LD_AUDIT.
+    - Add tests for CVE-2025-4802.
+    - Fix swapped wcsncpy and wcpncpy function names in IFUNC definition.
+    - Fix elf/tst-execstack-prog-static-tunable on sparc64.
+
+ -- Aurelien Jarno <aure...@debian.org>  Thu, 05 Jun 2025 21:05:55 +0200
+
 glibc (2.41-8) unstable; urgency=medium
 
   [ Samuel Thibault ]
diff --git a/debian/patches/git-updates.diff b/debian/patches/git-updates.diff
index ea94532b..15deba92 100644
--- a/debian/patches/git-updates.diff
+++ b/debian/patches/git-updates.diff
@@ -22,10 +22,10 @@ index d0108d2caa..aa547a443f 100644
  $(common-objdir):$(subst $(empty) ,:,$(patsubst 
../$(subdir),.,$(rpath-dirs:%=$(common-objpfx)%)))
  else  # build-static
 diff --git a/NEWS b/NEWS
-index b11422b060..51586aaad7 100644
+index b11422b060..90d090ea77 100644
 --- a/NEWS
 +++ b/NEWS
-@@ -5,6 +5,31 @@ See the end for copying conditions.
+@@ -5,6 +5,34 @@ See the end for copying conditions.
  Please send GNU C library bug reports via <https://sourceware.org/bugzilla/>
  using `glibc' in the "product" field.
  
@@ -53,6 +53,9 @@ index b11422b060..51586aaad7 100644
 +  [32882] tst-audit10 fails with SIGILL on CPUs without AVX
 +  [32897] dynamic-link: pthread_getattr_np fails when executable stack
 +    tunable is set
++  [32981] ports: elf/tst-execstack-prog-static-tunable fails on
++    sparc64-linux-gnu
++  [32987] elf: Fix subprocess status handling for tst-dlopen-sgid
 +
  Version 2.41
  
@@ -904,7 +907,7 @@ index 050bfa65e3..57cd24c87d 100644
  AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#ifdef PIE_UNSUPPORTED
  # error PIE is not supported
 diff --git a/elf/Makefile b/elf/Makefile
-index 4b1d0d8741..3a3ae56a24 100644
+index 4b1d0d8741..f42cb154fb 100644
 --- a/elf/Makefile
 +++ b/elf/Makefile
 @@ -61,6 +61,7 @@ dl-routines = \
@@ -915,7 +918,23 @@ index 4b1d0d8741..3a3ae56a24 100644
    dl-fini \
    dl-init \
    dl-load \
-@@ -567,9 +568,11 @@ tests-execstack-yes = \
+@@ -266,6 +267,7 @@ tests-static-normal := \
+   tst-array1-static \
+   tst-array5-static \
+   tst-dl-iter-static \
++  tst-dlopen-sgid \
+   tst-dst-static \
+   tst-env-setuid-static \
+   tst-getauxval-static \
+@@ -379,6 +381,7 @@ tests += \
+   tst-align3 \
+   tst-audit-tlsdesc \
+   tst-audit-tlsdesc-dlopen \
++  tst-audit-tlsdesc-dlopen2 \
+   tst-audit1 \
+   tst-audit2 \
+   tst-audit8 \
+@@ -567,9 +570,11 @@ tests-execstack-yes = \
    tst-execstack \
    tst-execstack-needed \
    tst-execstack-prog \
@@ -928,7 +947,23 @@ index 4b1d0d8741..3a3ae56a24 100644
    # tests-execstack-static-yes
  ifeq (yes,$(run-built-tests))
  tests-execstack-special-yes = \
-@@ -1144,6 +1147,10 @@ tests-pie += \
+@@ -863,6 +868,7 @@ modules-names += \
+   tst-auditmanymod8 \
+   tst-auditmanymod9 \
+   tst-auditmod-tlsdesc  \
++  tst-auditmod-tlsdesc2 \
+   tst-auditmod1 \
+   tst-auditmod11 \
+   tst-auditmod12 \
+@@ -905,6 +911,7 @@ modules-names += \
+   tst-dlmopen1mod \
+   tst-dlopen-auditdup-auditmod \
+   tst-dlopen-auditdupmod \
++  tst-dlopen-sgid-mod \
+   tst-dlopen-tlsreinitmod1 \
+   tst-dlopen-tlsreinitmod2 \
+   tst-dlopen-tlsreinitmod3 \
+@@ -1144,6 +1151,10 @@ tests-pie += \
    tst-pie1 \
    tst-pie2 \
    # tests-pie
@@ -939,7 +974,7 @@ index 4b1d0d8741..3a3ae56a24 100644
  ifneq (,$(load-address-ldflag))
  tests += \
    tst-pie-address \
-@@ -1159,6 +1166,10 @@ tests += \
+@@ -1159,6 +1170,10 @@ tests += \
  tests-static += \
    tst-pie-address-static \
    # tests-static
@@ -950,7 +985,7 @@ index 4b1d0d8741..3a3ae56a24 100644
  LDFLAGS-tst-pie-address-static += \
    $(load-address-ldflag)=$(pde-load-address)
  endif
-@@ -1988,6 +1999,9 @@ $(objpfx)tst-execstack.out: $(objpfx)tst-execstack-mod.so
+@@ -1988,6 +2003,9 @@ $(objpfx)tst-execstack.out: $(objpfx)tst-execstack-mod.so
  CPPFLAGS-tst-execstack.c += -DUSE_PTHREADS=0
  LDFLAGS-tst-execstack = -Wl,-z,noexecstack
  LDFLAGS-tst-execstack-mod.so = -Wl,-z,execstack
@@ -960,7 +995,7 @@ index 4b1d0d8741..3a3ae56a24 100644
  
  $(objpfx)tst-execstack-needed: $(objpfx)tst-execstack-mod.so
  LDFLAGS-tst-execstack-needed = -Wl,-z,noexecstack
-@@ -1996,7 +2010,18 @@ LDFLAGS-tst-execstack-prog = -Wl,-z,execstack
+@@ -1996,7 +2014,18 @@ LDFLAGS-tst-execstack-prog = -Wl,-z,execstack
  CFLAGS-tst-execstack-prog.c += -Wno-trampolines
  CFLAGS-tst-execstack-mod.c += -Wno-trampolines
  
@@ -979,7 +1014,7 @@ index 4b1d0d8741..3a3ae56a24 100644
  CFLAGS-tst-execstack-prog-static.c += -Wno-trampolines
  
  ifeq (yes,$(build-hardcoded-path-in-tests))
-@@ -2074,6 +2099,7 @@ $(objpfx)tst-array5-static-cmp.out: 
tst-array5-static.exp \
+@@ -2074,6 +2103,7 @@ $(objpfx)tst-array5-static-cmp.out: 
tst-array5-static.exp \
  
  CFLAGS-tst-pie1.c += $(pie-ccflag)
  CFLAGS-tst-pie2.c += $(pie-ccflag)
@@ -987,6 +1022,22 @@ index 4b1d0d8741..3a3ae56a24 100644
  CFLAGS-tst-pie-address.c += $(pie-ccflag)
  
  $(objpfx)tst-piemod1.so: $(libsupport)
+@@ -3189,6 +3219,9 @@ $(objpfx)tst-audit-tlsdesc.out: 
$(objpfx)tst-auditmod-tlsdesc.so
+ tst-audit-tlsdesc-ENV = LD_AUDIT=$(objpfx)tst-auditmod-tlsdesc.so
+ $(objpfx)tst-audit-tlsdesc-dlopen.out: $(objpfx)tst-auditmod-tlsdesc.so
+ tst-audit-tlsdesc-dlopen-ENV = LD_AUDIT=$(objpfx)tst-auditmod-tlsdesc.so
++$(objpfx)tst-audit-tlsdesc-dlopen2.out: $(objpfx)tst-auditmod-tlsdesc2.so \
++  $(patsubst %, $(objpfx)%.so, $(tlsmod17a-modules))
++tst-audit-tlsdesc-dlopen2-ENV = LD_AUDIT=$(objpfx)tst-auditmod-tlsdesc2.so
+ 
+ $(objpfx)tst-dlmopen-twice.out: \
+   $(objpfx)tst-dlmopen-twice-mod1.so \
+@@ -3392,3 +3425,5 @@ $(objpfx)tst-nolink-libc-2: $(objpfx)tst-nolink-libc.o
+         -Wl,--dynamic-linker=$(objpfx)ld.so
+ $(objpfx)tst-nolink-libc-2.out: $(objpfx)tst-nolink-libc-2 $(objpfx)ld.so
+       $< > $@ 2>&1; $(evaluate-test)
++
++$(objpfx)tst-dlopen-sgid.out: $(objpfx)tst-dlopen-sgid-mod.so
 diff --git a/elf/dl-execstack-tunable.c b/elf/dl-execstack-tunable.c
 new file mode 100644
 index 0000000000..e3b638aeaa
@@ -1096,6 +1147,24 @@ index a7d5a5e8ab..0388e23448 100644
  
    call_function_static_weak (_dl_find_object_init);
  
+diff --git a/elf/dl-tls.c b/elf/dl-tls.c
+index 8306a39e8d..5686df5ad2 100644
+--- a/elf/dl-tls.c
++++ b/elf/dl-tls.c
+@@ -560,6 +560,13 @@ _dl_resize_dtv (dtv_t *dtv, size_t max_modid)
+       if (newp == NULL)
+       oom ();
+       memcpy (newp, &dtv[-1], (2 + oldsize) * sizeof (dtv_t));
++#ifdef SHARED
++      /* Auditors can trigger a DTV resize event while the full malloc
++       is not yet in use.  Mark the new DTV allocation as the
++       initial allocation.  */
++      if (!__rtld_malloc_is_complete ())
++      GL(dl_initial_dtv) = &newp[1];
++#endif
+     }
+   else
+     {
 diff --git a/elf/dl-tunables.list b/elf/dl-tunables.list
 index 0b6721bc51..c03c9967f0 100644
 --- a/elf/dl-tunables.list
@@ -1126,6 +1195,248 @@ index 00bec15316..7a8aa56377 100644
  
    /* If the current libname is different from the SONAME, add the
       latter as well.  */
+diff --git a/elf/tst-audit-tlsdesc-dlopen2.c b/elf/tst-audit-tlsdesc-dlopen2.c
+new file mode 100644
+index 0000000000..7ba2c4129a
+--- /dev/null
++++ b/elf/tst-audit-tlsdesc-dlopen2.c
+@@ -0,0 +1,46 @@
++/* Loading TLS-using modules from auditors (bug 32412).  Main program.
++   Copyright (C) 2021-2025 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 <support/xdlfcn.h>
++#include <stdio.h>
++
++static int
++do_test (void)
++{
++  puts ("info: start of main program");
++
++  /* Load TLS-using modules, to trigger DTV resizing.  The dynamic
++     linker will load them again (requiring their own TLS) because the
++     dlopen calls from the auditor were in the auditing namespace.  */
++  for (int i = 1; i <= 19; ++i)
++    {
++      char dso[30];
++      snprintf (dso, sizeof (dso), "tst-tlsmod17a%d.so", i);
++      char sym[30];
++      snprintf (sym, sizeof(sym), "tlsmod17a%d", i);
++
++      void *handle = xdlopen (dso, RTLD_LAZY);
++      int (*func) (void) = xdlsym (handle, sym);
++      /* Trigger TLS allocation.  */
++      func ();
++    }
++
++  return 0;
++}
++
++#include <support/test-driver.c>
+diff --git a/elf/tst-auditmod-tlsdesc2.c b/elf/tst-auditmod-tlsdesc2.c
+new file mode 100644
+index 0000000000..50275cd34d
+--- /dev/null
++++ b/elf/tst-auditmod-tlsdesc2.c
+@@ -0,0 +1,59 @@
++/* Loading TLS-using modules from auditors (bug 32412).  Audit module.
++   Copyright (C) 2021-2025 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 <dlfcn.h>
++#include <link.h>
++#include <stdbool.h>
++#include <stdio.h>
++#include <unistd.h>
++
++unsigned int
++la_version (unsigned int version)
++{
++  /* Open some modules, to trigger DTV resizing before the switch to
++     the main malloc.  */
++  for (int i = 1; i <= 19; ++i)
++    {
++      char dso[30];
++      snprintf (dso, sizeof (dso), "tst-tlsmod17a%d.so", i);
++      char sym[30];
++      snprintf (sym, sizeof(sym), "tlsmod17a%d", i);
++
++      void *handle = dlopen (dso, RTLD_LAZY);
++      if (handle == NULL)
++        {
++          printf ("error: dlmopen from auditor: %s\n", dlerror  ());
++          fflush (stdout);
++          _exit (1);
++        }
++      int (*func) (void) = dlsym (handle, sym);
++      if (func == NULL)
++        {
++          printf ("error: dlsym from auditor: %s\n", dlerror  ());
++          fflush (stdout);
++          _exit (1);
++        }
++      /* Trigger TLS allocation.  */
++      func ();
++    }
++
++  puts ("info: TLS-using modules loaded from auditor");
++  fflush (stdout);
++
++  return LAV_CURRENT;
++}
+diff --git a/elf/tst-dlopen-sgid-mod.c b/elf/tst-dlopen-sgid-mod.c
+new file mode 100644
+index 0000000000..5eb79eef48
+--- /dev/null
++++ b/elf/tst-dlopen-sgid-mod.c
+@@ -0,0 +1 @@
++/* Opening this object should not succeed.  */
+diff --git a/elf/tst-dlopen-sgid.c b/elf/tst-dlopen-sgid.c
+new file mode 100644
+index 0000000000..5688b79f2e
+--- /dev/null
++++ b/elf/tst-dlopen-sgid.c
+@@ -0,0 +1,112 @@
++/* Test case for ignored LD_LIBRARY_PATH in static startug (bug 32976).
++   Copyright (C) 2025 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 <dlfcn.h>
++#include <gnu/lib-names.h>
++#include <stddef.h>
++#include <stdint.h>
++#include <stdlib.h>
++#include <string.h>
++#include <support/capture_subprocess.h>
++#include <support/check.h>
++#include <support/support.h>
++#include <support/temp_file.h>
++#include <support/test-driver.h>
++#include <sys/wait.h>
++#include <unistd.h>
++
++/* This is the name of our test object.  Use a custom module for
++   testing, so that this object does not get picked up from the system
++   path.  */
++static const char dso_name[] = "tst-dlopen-sgid-mod.so";
++
++/* Used to mark the recursive invocation.  */
++static const char magic_argument[] = "run-actual-test";
++
++static int
++do_test (void)
++{
++/* Pathname of the directory that receives the shared objects this
++   test attempts to load.  */
++  char *libdir = support_create_temp_directory ("tst-dlopen-sgid-");
++
++  /* This is supposed to be ignored and stripped.  */
++  TEST_COMPARE (setenv ("LD_LIBRARY_PATH", libdir, 1), 0);
++
++  /* Copy of libc.so.6.  */
++  {
++    char *from = xasprintf ("%s/%s", support_objdir_root, LIBC_SO);
++    char *to = xasprintf ("%s/%s", libdir, LIBC_SO);
++    add_temp_file (to);
++    support_copy_file (from, to);
++    free (to);
++    free (from);
++  }
++
++  /* Copy of the test object.   */
++  {
++    char *from = xasprintf ("%s/elf/%s", support_objdir_root, dso_name);
++    char *to = xasprintf ("%s/%s", libdir, dso_name);
++    add_temp_file (to);
++    support_copy_file (from, to);
++    free (to);
++    free (from);
++  }
++
++  free (libdir);
++
++  int status = support_capture_subprogram_self_sgid (magic_argument);
++
++  if (WEXITSTATUS (status) == EXIT_UNSUPPORTED)
++    return EXIT_UNSUPPORTED;
++
++  if (!WIFEXITED (status))
++    FAIL_EXIT1 ("Unexpected exit status %d from child process\n", status);
++
++  return 0;
++}
++
++static void
++alternative_main (int argc, char **argv)
++{
++  if (argc == 2 && strcmp (argv[1], magic_argument) == 0)
++    {
++      if (getgid () == getegid ())
++        /* This can happen if the file system is mounted nosuid.  */
++        FAIL_UNSUPPORTED ("SGID failed: GID and EGID match (%jd)\n",
++                          (intmax_t) getgid ());
++
++      /* Should be removed due to SGID.  */
++      TEST_COMPARE_STRING (getenv ("LD_LIBRARY_PATH"), NULL);
++
++      TEST_VERIFY (dlopen (dso_name, RTLD_NOW) == NULL);
++      {
++        const char *message = dlerror ();
++        TEST_COMPARE_STRING (message,
++                             "tst-dlopen-sgid-mod.so:"
++                             " cannot open shared object file:"
++                             " No such file or directory");
++      }
++
++      support_record_failure_barrier ();
++      exit (EXIT_SUCCESS);
++    }
++}
++
++#define PREPARE alternative_main
++#include <support/test-driver.c>
 diff --git a/elf/tst-execstack-prog-static-tunable.c 
b/elf/tst-execstack-prog-static-tunable.c
 new file mode 100644
 index 0000000000..88b0ca1263
@@ -1518,6 +1829,51 @@ index 0000000000..f5f484c83a
 +}
 +
 +#include <support/test-driver.c>
+diff --git a/support/capture_subprocess.h b/support/capture_subprocess.h
+index 91d75e5d6b..77140430d2 100644
+--- a/support/capture_subprocess.h
++++ b/support/capture_subprocess.h
+@@ -45,8 +45,7 @@ struct support_capture_subprocess support_capture_subprogram
+ /* Copy the running program into a setgid binary and run it with CHILD_ID
+    argument.  If execution is successful, return the exit status of the child
+    program, otherwise return a non-zero failure exit code.  */
+-int support_capture_subprogram_self_sgid
+-  (char *child_id);
++int support_capture_subprogram_self_sgid (const char *child_id);
+ 
+ /* Deallocate the subprocess data captured by
+    support_capture_subprocess.  */
+diff --git a/support/support_capture_subprocess.c 
b/support/support_capture_subprocess.c
+index c3ef478d17..d99aafd370 100644
+--- a/support/support_capture_subprocess.c
++++ b/support/support_capture_subprocess.c
+@@ -110,7 +110,7 @@ support_capture_subprogram (const char *file, char *const 
argv[],
+    safely make it SGID with the TARGET group ID.  Then runs the
+    executable.  */
+ static int
+-copy_and_spawn_sgid (char *child_id, gid_t gid)
++copy_and_spawn_sgid (const char *child_id, gid_t gid)
+ {
+   char *dirname = xasprintf ("%s/tst-tunables-setuid.%jd",
+                            test_dir, (intmax_t) getpid ());
+@@ -182,7 +182,7 @@ copy_and_spawn_sgid (char *child_id, gid_t gid)
+   ret = 0;
+   infd = outfd = -1;
+ 
+-  char * const args[] = {execname, child_id, NULL};
++  char * const args[] = {execname, (char *) child_id, NULL};
+ 
+   status = support_subprogram_wait (args[0], args);
+ 
+@@ -211,7 +211,7 @@ err:
+ }
+ 
+ int
+-support_capture_subprogram_self_sgid (char *child_id)
++support_capture_subprogram_self_sgid (const char *child_id)
+ {
+   gid_t target = 0;
+   const int count = 64;
 diff --git a/sysdeps/aarch64/fpu/asinh_sve.c b/sysdeps/aarch64/fpu/asinh_sve.c
 index 0889f79dbb..ff6b71390c 100644
 --- a/sysdeps/aarch64/fpu/asinh_sve.c
@@ -3303,6 +3659,36 @@ index a30892f080..dcc3e0883b 100644
  #endif
    return lazy;
  }
+diff --git a/sysdeps/sparc/sparc32/start.S b/sysdeps/sparc/sparc32/start.S
+index 694b020ce0..cef7c96cac 100644
+--- a/sysdeps/sparc/sparc32/start.S
++++ b/sysdeps/sparc/sparc32/start.S
+@@ -73,6 +73,10 @@ _start:
+      be NULL.  */
+       mov     %g1, %o5
+ 
++  /* Provide the highest stack address to update the __libc_stack_end (used
++     to enable executable stacks if required).  */
++      st      %sp, [%sp+23*4]
++
+   /* Let libc do the rest of the initialization, and call main.  */
+       call    __libc_start_main
+        nop
+diff --git a/sysdeps/sparc/sparc64/start.S b/sysdeps/sparc/sparc64/start.S
+index c9c25c2e47..08e1e77210 100644
+--- a/sysdeps/sparc/sparc64/start.S
++++ b/sysdeps/sparc/sparc64/start.S
+@@ -74,6 +74,10 @@ _start:
+      be NULL.  */
+       mov     %g1, %o5
+ 
++  /* Provide the highest stack address to update the __libc_stack_end (used
++     to enable executable stacks if required).  */
++      stx     %sp, [%sp+STACK_BIAS+22*8]
++
+   /* Let libc do the rest of the initialization, and call main.  */
+       call    __libc_start_main
+        nop
 diff --git a/sysdeps/unix/sysv/linux/aarch64/Makefile 
b/sysdeps/unix/sysv/linux/aarch64/Makefile
 index 1fdad67fae..0839f0b08c 100644
 --- a/sysdeps/unix/sysv/linux/aarch64/Makefile
@@ -5095,6 +5481,28 @@ index 0000000000..5539b6c61c
 +# define __tanh __tanh_sse2
 +#endif
 +#include <sysdeps/ieee754/dbl-64/s_tanh.c>
+diff --git a/sysdeps/x86_64/multiarch/ifunc-impl-list.c 
b/sysdeps/x86_64/multiarch/ifunc-impl-list.c
+index a8349775df..c2dcadd1a9 100644
+--- a/sysdeps/x86_64/multiarch/ifunc-impl-list.c
++++ b/sysdeps/x86_64/multiarch/ifunc-impl-list.c
+@@ -922,7 +922,7 @@ __libc_ifunc_impl_list (const char *name, struct 
libc_ifunc_impl *array,
+                                    (CPU_FEATURE_USABLE (AVX2)
+                                     && CPU_FEATURE_USABLE (BMI2)),
+                                    __wcsncpy_avx2)
+-            X86_IFUNC_IMPL_ADD_V2 (array, i, wcpncpy,
++            X86_IFUNC_IMPL_ADD_V2 (array, i, wcsncpy,
+                                    1,
+                                    __wcsncpy_generic))
+ 
+@@ -952,7 +952,7 @@ __libc_ifunc_impl_list (const char *name, struct 
libc_ifunc_impl *array,
+                                    (CPU_FEATURE_USABLE (AVX2)
+                                     && CPU_FEATURE_USABLE (BMI2)),
+                                    __wcpncpy_avx2)
+-            X86_IFUNC_IMPL_ADD_V2 (array, i, wcsncpy,
++            X86_IFUNC_IMPL_ADD_V2 (array, i, wcpncpy,
+                                    1,
+                                    __wcpncpy_generic))
+ 
 diff --git a/sysdeps/x86_64/tst-auditmod10b.c 
b/sysdeps/x86_64/tst-auditmod10b.c
 index 6eb21b6f06..0b994ef0f0 100644
 --- a/sysdeps/x86_64/tst-auditmod10b.c

--- End Message ---
--- Begin Message ---
Unblocked glibc.

--- End Message ---

Reply via email to