[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1034134: [pre-approval] unblock: glibc/2.36-9



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: glibc@packages.debian.org, debian-glibc@lists.debian.org
Control: affects -1 + src:glibc

[ Reason ]
An RC bug reported by a user (#1033931) triggered a routing update of
the glibc package from the upstream stable tree, which contains the fix.

The upstream stable tree also includes a fix to the daylight computation
affecting at least the Africa/Tripoli timezone, as well as a fix to the
testsuite on POWER when compiling with -mcpu=power10 (which is not the
case of Debian).

This is also the occasion to update the debconf translation that has
been received since the toolchain freeze.

[ Impact ]
The FIS-GT.M database randomly crash on x86 processors using the SSE2
version of memcmp, due to a bug in that specific implementation.

[ Tests ]
The changes to the SSE2 version of memcmp is covered by the existing
testsuite. The changes to the daylight computation comes with a new
test, which unfortunately can't be run, as it requires a binary test
file which can't be included easily in the diff, so it is disabled in
the debian package, but I verified manually it passes correctly.

[ Risks ]
The changes in the resulting binary packages are quite small if we
except the translation updates, and have been shipped in some other
distributions for a couple of months.

Let me anyway detail the changelog that might look scarying at a first
glance:

|  [ Aurelien Jarno ]
|  * debian/po/it.po: Update Italian debconf translation, by Luca Monducci.
|    Closes: #1028133.
|  * debian/po/tr.po: Update Turkish debconf translation, by Atila KOÇ.
|    Closes: #1028306.
|  * debian/po/cs.po: Update Czech debconf translation, by Miroslav Kure.
|    Closes: #1028326.
|  * debian/po/zh_CN.po: Update Chinese debconf translation, by Tianyu Chen.
|  * debian/po/pt.po: Update Portugues debconf translation, by Pedro Ribeiro.
|    Closes: #1028353.
|  * debian/po/sk.po: Fix invalid control sequence in Slovak translation.
|  * debian/po/pt_BR.po: Update Brazilian Portuguese debconf translation, by
|    Adriano Rafael Gomes. Closes: #1029005.
|  * debian/po/nl.po: Update Dutch debconf translation, by Frans Spiesschaert.
|    Closes: #1029018, #1033905.
|  * debian/po/ro.po: Update Romanian debconf translation, by Remus-Gabriel
|    Chelu. Closes: #1031163.

All of the above are just debconf translation updates received
recently, it would be good to have them for Bookworm. They represent the
majority of the diff.

|  * debian/patches/git-updates.diff: update from upstream stable branch:
|    - Prevent SIGSEGV in the SSE2 version of memcmp when data is concurrently
|      modified. Closes: #1033931.
|    - Fix a corner case in daylight computation affecting the Africa/Tripoli
|      zone since tzdata 2022g.
|    - Fix elf/tst-tlsopt-powerpc failure when compiled with -mcpu=power10.

Those are the changes pulled from the upstream stable branch. Note that
the changes to elf/tst-tlsopt-powerpc is not relevant for Debian as the
ppc64el toolchain does not default to -mcpu=power10 (and neither the
ppc64 nor powerpc one do), and anyway the change is in the testsuite so
does not affect the resulting binary packages.

|  * patches/any/local-disable-tst-bz29951.diff: disable new test included in
|    the latest update from upstream stable branch, as git-updates.diff can't
|    include the corresponding binary test file.

As explained above we can't easily run the new test for the daylight
computation fix, so this patch disables it until we can find a better
solution.

|  [ Samuel Thibault ]
|  * debian/sysdeps/hurd.mk: Add -fno-omit-frame-pointer to extra_cflags.
|  * debian/testsuite-xfail-debian.mk: Update hurd results.
|  * debian/patches/hurd-i386/git-intr-msg-cfa.diff: Fix stack unwinding over
|    _hurd_intr_rpc_mach_msg, for go runtime.
|  * debian/libc0.3.symbols.hurd-i386: Update symbols with new RPCs.

Those are changes that have been accumulated in git since the toolchain
freeze, and only affect hurd specific code, so with no impact on the
binaries of the release architectures.

[ 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
diff --git a/debian/changelog b/debian/changelog
index d1a16865..d67a3e5d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,41 @@
+glibc (2.36-9) unstable; urgency=medium
+
+  [ Aurelien Jarno ]
+  * debian/po/it.po: Update Italian debconf translation, by Luca Monducci.
+    Closes: #1028133.
+  * debian/po/tr.po: Update Turkish debconf translation, by Atila KOÇ.
+    Closes: #1028306.
+  * debian/po/cs.po: Update Czech debconf translation, by Miroslav Kure.
+    Closes: #1028326.
+  * debian/po/zh_CN.po: Update Chinese debconf translation, by Tianyu Chen.
+  * debian/po/pt.po: Update Portugues debconf translation, by Pedro Ribeiro.
+    Closes: #1028353.
+  * debian/po/sk.po: Fix invalid control sequence in Slovak translation.
+  * debian/po/pt_BR.po: Update Brazilian Portuguese debconf translation, by
+    Adriano Rafael Gomes. Closes: #1029005.
+  * debian/po/nl.po: Update Dutch debconf translation, by Frans Spiesschaert.
+    Closes: #1029018, #1033905.
+  * debian/po/ro.po: Update Romanian debconf translation, by Remus-Gabriel
+    Chelu. Closes: #1031163.
+  * debian/patches/git-updates.diff: update from upstream stable branch:
+    - Prevent SIGSEGV in the SSE2 version of memcmp when data is concurrently
+      modified. Closes: #1033931.
+    - Fix a corner case in daylight computation affecting the Africa/Tripoli
+      zone since tzdata 2022g.
+    - Fix elf/tst-tlsopt-powerpc failure when compiled with -mcpu=power10.
+  * patches/any/local-disable-tst-bz29951.diff: disable new test included in
+    the latest update from upstream stable branch, as git-updates.diff can't
+    include the corresponding binary test file.
+
+  [ Samuel Thibault ]
+  * debian/sysdeps/hurd.mk: Add -fno-omit-frame-pointer to extra_cflags.
+  * debian/testsuite-xfail-debian.mk: Update hurd results.
+  * debian/patches/hurd-i386/git-intr-msg-cfa.diff: Fix stack unwinding over
+    _hurd_intr_rpc_mach_msg, for go runtime.
+  * debian/libc0.3.symbols.hurd-i386: Update symbols with new RPCs.
+
+ -- Aurelien Jarno <aurel32@debian.org>  Mon, 10 Apr 2023 10:35:16 +0200
+
 glibc (2.36-8) unstable; urgency=medium
 
   [ Samuel Thibault ]
diff --git a/debian/libc0.3.symbols.hurd-i386 b/debian/libc0.3.symbols.hurd-i386
index 509164fb..6ff2c69d 100644
--- a/debian/libc0.3.symbols.hurd-i386
+++ b/debian/libc0.3.symbols.hurd-i386
@@ -258,6 +258,7 @@ libhurduser.so.0.3 #PACKAGE# #MINVER#
  __pci_get_dev_regions@Base 2.27-8+hurd.1
  __pci_get_dev_rom@Base 2.27-8+hurd.1
  __pci_get_ndevs@Base 2.27-8+hurd.1
+ __pfinet_getroutes@Base 2.35-2
  __pfinet_siocgifconf@Base 2.11
  __proc_child@Base 2.11
  __proc_child_request@Base 2.11
@@ -640,6 +641,7 @@ libhurduser.so.0.3 #PACKAGE# #MINVER#
  pci_get_dev_regions@Base 2.27-8+hurd.1
  pci_get_dev_rom@Base 2.27-8+hurd.1
  pci_get_ndevs@Base 2.27-8+hurd.1
+ pfinet_getroutes@Base 2.35-2
  pfinet_siocgifconf@Base 2.11
  proc_child@Base 2.11
  proc_child_request@Base 2.11
@@ -941,6 +943,7 @@ libmachuser.so.1 #PACKAGE# #MINVER#
  __task_resume@Base 2.11
  __task_set_emulation@Base 2.11
  __task_set_emulation_vector@Base 2.11
+ __task_set_essential@Base 2.36-7
  __task_set_name@Base 2.18-5
  __task_set_special_port_rpc@Base 2.11
  __task_suspend_rpc@Base 2.11
@@ -1104,6 +1107,7 @@ libmachuser.so.1 #PACKAGE# #MINVER#
  task_resume@Base 2.11
  task_set_emulation@Base 2.11
  task_set_emulation_vector@Base 2.11
+ task_set_essential@Base 2.36-7
  task_set_name@Base 2.18-5
  task_set_special_port_rpc@Base 2.11
  task_suspend_rpc@Base 2.11
diff --git a/debian/patches/any/local-disable-tst-bz29951.diff b/debian/patches/any/local-disable-tst-bz29951.diff
new file mode 100644
index 00000000..0213db87
--- /dev/null
+++ b/debian/patches/any/local-disable-tst-bz29951.diff
@@ -0,0 +1,16 @@
+Disable tst-bz29951 as the corresponding binary test file can't be included in git-updates.diff
+
+To be removed for 2.37.
+
+--- a/timezone/Makefile
++++ b/timezone/Makefile
+@@ -23,7 +23,7 @@ subdir	:= timezone
+ include ../Makeconfig
+ 
+ others	:= zdump zic
+-tests	:= test-tz tst-timezone tst-tzset tst-bz28707 tst-bz29951
++tests	:= test-tz tst-timezone tst-tzset tst-bz28707
+ 
+ generated-dirs += testdata
+ 
+
diff --git a/debian/patches/git-updates.diff b/debian/patches/git-updates.diff
index 7a6136af..0d3d0800 100644
--- a/debian/patches/git-updates.diff
+++ b/debian/patches/git-updates.diff
@@ -68,10 +68,10 @@ index d1e139d03c..09c0cf8357 100644
  else	   					# -s
  verbose	:=
 diff --git a/NEWS b/NEWS
-index f61e521fc8..fb2d73a6be 100644
+index f61e521fc8..8c79e83b77 100644
 --- a/NEWS
 +++ b/NEWS
-@@ -5,6 +5,52 @@ See the end for copying conditions.
+@@ -5,6 +5,54 @@ See the end for copying conditions.
  Please send GNU C library bug reports via <https://sourceware.org/bugzilla/>
  using `glibc' in the "product" field.
  
@@ -120,6 +120,8 @@ index f61e521fc8..fb2d73a6be 100644
 +    platforms
 +  [29730] broken y2038 support in fstatat on MIPS N64
 +  [29771] Restore IPC_64 support in sysvipc *ctl functions
++  [29776] elf/tst-tlsopt-powerpc fails when compiled with -mcpu=power10
++  [29951] time: Set daylight to 1 for matching DST/offset change
 +
  Version 2.36
  
@@ -5739,6 +5741,23 @@ index bcff909b2f..5cda9bb072 100644
  	    res->got_ipv6 = true;
  	}
        at[count].next = at + count + 1;
+diff --git a/sysdeps/powerpc/mod-tlsopt-powerpc.c b/sysdeps/powerpc/mod-tlsopt-powerpc.c
+index 2a82e53baf..d941024963 100644
+--- a/sysdeps/powerpc/mod-tlsopt-powerpc.c
++++ b/sysdeps/powerpc/mod-tlsopt-powerpc.c
+@@ -22,7 +22,11 @@ tls_get_addr_opt_test (void)
+   tls_index *tls_arg;
+ #ifdef __powerpc64__
+   register unsigned long thread_pointer __asm__ ("r13");
+-  asm ("addi %0,2,foo@got@tlsgd" : "=r" (tls_arg));
++# ifdef __PCREL__
++  asm ("paddi %0,0,foo@got@tlsgd@pcrel,1" : "=b" (tls_arg));
++# else
++  asm ("addi %0,2,foo@got@tlsgd" : "=b" (tls_arg));
++# endif
+ #else
+   register unsigned long thread_pointer __asm__ ("r2");
+   asm ("bcl 20,31,1f\n1:\t"
 diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
 index a139a16532..3ceda9fdbf 100644
 --- a/sysdeps/unix/sysv/linux/Makefile
@@ -7902,6 +7921,29 @@ index 68646ef199..7622af259c 100644
        && X86_ISA_CPU_FEATURES_ARCH_P (cpu_features,
  				      AVX_Fast_Unaligned_Load, ))
      {
+diff --git a/sysdeps/x86_64/multiarch/memcmp-sse2.S b/sysdeps/x86_64/multiarch/memcmp-sse2.S
+index afd450d020..51bc9344f0 100644
+--- a/sysdeps/x86_64/multiarch/memcmp-sse2.S
++++ b/sysdeps/x86_64/multiarch/memcmp-sse2.S
+@@ -308,7 +308,17 @@ L(ret_nonzero_vec_end_0):
+ 	setg	%dl
+ 	leal	-1(%rdx, %rdx), %eax
+ #  else
+-	addl	%edx, %eax
++	/* Use `addq` instead of `addl` here so that even if `rax` + `rdx`
++       is negative value of the sum will be usable as a 64-bit offset
++       (negative 32-bit numbers zero-extend to a large and often
++       out-of-bounds 64-bit offsets).  Note that `rax` + `rdx` >= 0 is
++       an invariant when `memcmp` is used correctly, but if the input
++       strings `rsi`/`rdi` are concurrently modified as the function
++       runs (there is a Data-Race) it is possible for `rax` + `rdx` to
++       be negative.  Given that there is virtually no extra to cost
++       using `addq` instead of `addl` we may as well protect the
++       data-race case.  */
++	addq	%rdx, %rax
+ 	movzbl	(VEC_SIZE * -1 + SIZE_OFFSET)(%rsi, %rax), %ecx
+ 	movzbl	(VEC_SIZE * -1 + SIZE_OFFSET)(%rdi, %rax), %eax
+ 	subl	%ecx, %eax
 diff --git a/sysdeps/x86_64/multiarch/rtld-strcpy.S b/sysdeps/x86_64/multiarch/rtld-strcpy.S
 new file mode 100644
 index 0000000000..19439c553d
@@ -8039,7 +8081,7 @@ index 494c89bf54..e9a6006710 100644
        return -1;
      }
 diff --git a/time/tzfile.c b/time/tzfile.c
-index dd75848ba9..394b098856 100644
+index dd75848ba9..8bba4e5b8d 100644
 --- a/time/tzfile.c
 +++ b/time/tzfile.c
 @@ -32,7 +32,7 @@
@@ -8051,6 +8093,185 @@ index dd75848ba9..394b098856 100644
  
  struct ttinfo
    {
+@@ -61,6 +61,10 @@ static size_t num_leaps;
+ static struct leap *leaps;
+ static char *tzspec;
+ 
++/* Used to restore the daylight variable during time conversion, as if
++   tzset had been called.  */
++static int daylight_saved;
++
+ #include <endian.h>
+ #include <byteswap.h>
+ 
+@@ -438,36 +442,35 @@ __tzfile_read (const char *file, size_t extra, char **extrap)
+   if (__tzname[1] == NULL)
+     __tzname[1] = __tzname[0];
+ 
++  daylight_saved = 0;
+   if (num_transitions == 0)
+     /* Use the first rule (which should also be the only one).  */
+     rule_stdoff = rule_dstoff = types[0].offset;
+   else
+     {
+-      int stdoff_set = 0, dstoff_set = 0;
+-      rule_stdoff = rule_dstoff = 0;
++      rule_stdoff = 0;
++
++      /* Search for the last rule with a standard time offset.  This
++	 will be used for the global timezone variable.  */
+       i = num_transitions - 1;
+       do
+-	{
+-	  if (!stdoff_set && !types[type_idxs[i]].isdst)
+-	    {
+-	      stdoff_set = 1;
+-	      rule_stdoff = types[type_idxs[i]].offset;
+-	    }
+-	  else if (!dstoff_set && types[type_idxs[i]].isdst)
+-	    {
+-	      dstoff_set = 1;
+-	      rule_dstoff = types[type_idxs[i]].offset;
+-	    }
+-	  if (stdoff_set && dstoff_set)
++	if (!types[type_idxs[i]].isdst)
++	  {
++	    rule_stdoff = types[type_idxs[i]].offset;
+ 	    break;
+-	}
++	  }
++	else
++	  daylight_saved = 1;
+       while (i-- > 0);
+ 
+-      if (!dstoff_set)
+-	rule_dstoff = rule_stdoff;
++      /* Keep searching to see if there is a DST rule.  This
++	 information will be used to set the global daylight
++	 variable.  */
++      while (i-- > 0 && !daylight_saved)
++	daylight_saved = types[type_idxs[i]].isdst;
+     }
+ 
+-  __daylight = rule_stdoff != rule_dstoff;
++  __daylight = daylight_saved;
+   __timezone = -rule_stdoff;
+ 
+  done:
+@@ -731,7 +734,7 @@ __tzfile_compute (__time64_t timer, int use_localtime,
+ 	}
+ 
+       struct ttinfo *info = &types[i];
+-      __daylight = rule_stdoff != rule_dstoff;
++      __daylight = daylight_saved;
+       __timezone = -rule_stdoff;
+ 
+       if (__tzname[0] == NULL)
+diff --git a/timezone/Makefile b/timezone/Makefile
+index a789c22d26..5002de39ad 100644
+--- a/timezone/Makefile
++++ b/timezone/Makefile
+@@ -23,7 +23,7 @@ subdir	:= timezone
+ include ../Makeconfig
+ 
+ others	:= zdump zic
+-tests	:= test-tz tst-timezone tst-tzset tst-bz28707
++tests	:= test-tz tst-timezone tst-tzset tst-bz28707 tst-bz29951
+ 
+ generated-dirs += testdata
+ 
+@@ -86,11 +86,13 @@ $(objpfx)tst-timezone.out: $(addprefix $(testdata)/, \
+ 				       Europe/London)
+ $(objpfx)tst-tzset.out: $(addprefix $(testdata)/XT, 1 2 3 4)
+ $(objpfx)tst-bz28707.out: $(testdata)/XT5
++$(objpfx)tst-bz29951.out: $(testdata)/XT6
+ 
+ test-tz-ENV = TZDIR=$(testdata)
+ tst-timezone-ENV = TZDIR=$(testdata)
+ tst-tzset-ENV = TZDIR=$(testdata)
+ tst-bz28707-ENV = TZDIR=$(testdata)
++tst-bz29951-ENV = TZDIR=$(testdata)
+ 
+ # Note this must come second in the deps list for $(built-program-cmd) to work.
+ zic-deps = $(objpfx)zic $(leapseconds) yearistype
+diff --git a/timezone/testdata/XT6 b/timezone/testdata/XT6
+new file mode 100644
+index 0000000000..07b393bb7d
+Binary files /dev/null and b/timezone/testdata/XT6 differ
+diff --git a/timezone/tst-bz29951.c b/timezone/tst-bz29951.c
+new file mode 100644
+index 0000000000..abd334683b
+--- /dev/null
++++ b/timezone/tst-bz29951.c
+@@ -0,0 +1,68 @@
++/* Check that daylight is set if the last DST transition did not change offset.
++   Copyright (C) 2023 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 <errno.h>
++#include <stdlib.h>
++#include <support/check.h>
++#include <time.h>
++
++/* Set the specified time zone with error checking.  */
++static void
++set_timezone (const char *name)
++{
++  TEST_VERIFY (setenv ("TZ", name, 1) == 0);
++  errno = 0;
++  tzset ();
++  TEST_COMPARE (errno, 0);
++}
++
++static int
++do_test (void)
++{
++  /* Test zone based on tz-2022g version of Africa/Tripoli.  The last
++     DST transition coincided with a change in the standard time
++     offset, effectively making it a no-op.
++
++     Africa/Tripoli  Thu Oct 24 23:59:59 2013 UT
++       = Fri Oct 25 01:59:59 2013 CEST isdst=1 gmtoff=7200
++     Africa/Tripoli  Fri Oct 25 00:00:00 2013 UT
++       = Fri Oct 25 02:00:00 2013 EET isdst=0 gmtoff=7200
++   */
++  set_timezone ("XT6");
++  TEST_VERIFY (daylight != 0);
++  TEST_COMPARE (timezone, -7200);
++
++  /* Check that localtime re-initializes the two variables.  */
++  daylight = timezone = 17;
++  time_t t = 844034401;
++  struct tm *tm = localtime (&t);
++  TEST_VERIFY (daylight != 0);
++  TEST_COMPARE (timezone, -7200);
++  TEST_COMPARE (tm->tm_year, 96);
++  TEST_COMPARE (tm->tm_mon, 8);
++  TEST_COMPARE (tm->tm_mday, 29);
++  TEST_COMPARE (tm->tm_hour, 23);
++  TEST_COMPARE (tm->tm_min, 0);
++  TEST_COMPARE (tm->tm_sec, 1);
++  TEST_COMPARE (tm->tm_gmtoff, 3600);
++  TEST_COMPARE (tm->tm_isdst, 0);
++
++  return 0;
++}
++
++#include <support/test-driver.c>
 diff --git a/wcsmbs/Makefile b/wcsmbs/Makefile
 index e6b9e8743a..4af102a3f6 100644
 --- a/wcsmbs/Makefile
diff --git a/debian/patches/hurd-i386/git-intr-msg-cfa.diff b/debian/patches/hurd-i386/git-intr-msg-cfa.diff
new file mode 100644
index 00000000..f4c6577c
--- /dev/null
+++ b/debian/patches/hurd-i386/git-intr-msg-cfa.diff
@@ -0,0 +1,70 @@
+commit 63550530d98db6e9c30dc96a3ea08411b873b23e
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date:   Thu Feb 9 19:58:43 2023 +0100
+
+    hurd: Fix unwinding over INTR_MSG_TRAP
+    
+    We used to use .cfi_adjust_cfa_offset around %esp manipulation
+    asm instructions to fix unwinding, but when building glibc with
+    -fno-omit-frame-pointer this is bogus since in that case %ebp is the CFA and
+    does not move.
+    
+    Instead, let's force -fno-omit-frame-pointer when building intr-msg.c so
+    that %ebp can always be used and no .cfi_adjust_cfa_offset is needed.
+
+diff --git a/hurd/Makefile b/hurd/Makefile
+index 77cb16cdf7..7c34e9ad0d 100644
+--- a/hurd/Makefile
++++ b/hurd/Makefile
+@@ -89,6 +89,9 @@ generated += $(inlines:=.c)
+ # Avoid ssp before TLS is initialized.
+ CFLAGS-hurdstartup.o = $(no-stack-protector)
+ CFLAGS-RPC_exec_startup_get_info.o = $(no-stack-protector)
++
++# Make it simpler to unwind over INTR_MSG_TRAP
++CFLAGS-intr-msg.o = -fno-omit-frame-pointer
+ 
+ # Make generated headers compatible with all support standards
+ migheaderpipe := | sed -e 's/\<ino64_t\>/__ino64_t/' -e 's/\<loff_t\>/__loff_t/'
+diff --git a/sysdeps/mach/hurd/i386/intr-msg.h b/sysdeps/mach/hurd/i386/intr-msg.h
+index 58f2f37c17..29cb4620da 100644
+--- a/sysdeps/mach/hurd/i386/intr-msg.h
++++ b/sysdeps/mach/hurd/i386/intr-msg.h
+@@ -41,21 +41,13 @@
+        "_hurd_intr_rpc_msg_do:"						      \
+        /* Ok, push the mach_msg_trap arguments.  */			      \
+        "				pushl 24(%4)\n"			      \
+-       "				.cfi_adjust_cfa_offset 4\n"	      \
+        "				pushl %2\n"			      \
+-       "				.cfi_adjust_cfa_offset 4\n"	      \
+        "				pushl 16(%4)\n"			      \
+-       "				.cfi_adjust_cfa_offset 4\n"	      \
+        "				pushl 12(%4)\n"			      \
+-       "				.cfi_adjust_cfa_offset 4\n"	      \
+        "				pushl 8(%4)\n"			      \
+-       "				.cfi_adjust_cfa_offset 4\n"	      \
+        "				pushl %1\n"			      \
+-       "				.cfi_adjust_cfa_offset 4\n"	      \
+        "				pushl (%4)\n"			      \
+-       "				.cfi_adjust_cfa_offset 4\n"	      \
+        "				pushl $0\n"			      \
+-       "				.cfi_adjust_cfa_offset 4\n"	      \
+        /* TODO: remove this ecx kludge, we don't need it any more */	      \
+        "				movl %%esp, %%ecx\n"		      \
+        "_hurd_intr_rpc_msg_cx_sp:	movl $-25, %%eax\n"		      \
+@@ -63,15 +55,10 @@
+        "_hurd_intr_rpc_msg_in_trap:"					      \
+        /* Ok, clean the arguments and update OPTION and TIMEOUT.  */	      \
+        "				addl $8, %%esp\n"		      \
+-       "				.cfi_adjust_cfa_offset -8\n"	      \
+        "				popl %1\n"			      \
+-       "				.cfi_adjust_cfa_offset -4\n"	      \
+        "				addl $12, %%esp\n"		      \
+-       "				.cfi_adjust_cfa_offset -12\n"	      \
+        "				popl %2\n"			      \
+-       "				.cfi_adjust_cfa_offset -4\n"	      \
+        "				addl $4, %%esp\n"		      \
+-       "				.cfi_adjust_cfa_offset -4\n"	      \
+        "_hurd_intr_rpc_msg_sp_restored:"				      \
+        : "=a" (err), "+r" (option), "+r" (timeout), "=m" (*intr_port_p)	      \
+        : "r" (&msg), "m" (*cancel_p), "i" (EINTR)			      \
diff --git a/debian/patches/series b/debian/patches/series
index eab409eb..e35f155d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -44,6 +44,9 @@ hurd-i386/git-getrandom-chroot.diff
 hurd-i386/git-mach-headers-freestanding.diff
 hurd-i386/git-sem_wait_race.diff
 
+# 2.38
+hurd-i386/git-intr-msg-cfa.diff
+
 hurd-i386/local-enable-ldconfig.diff
 hurd-i386/tg-sysvshm.diff
 hurd-i386/tg-thread-cancel.diff
@@ -115,3 +118,4 @@ any/local-cudacc-float128.diff
 any/local-test-install.diff
 any/local-cross.patch
 any/git-floatn-gcc-13-support.diff
+any/local-disable-tst-bz29951.diff
diff --git a/debian/po/cs.po b/debian/po/cs.po
index 1c2c93e4..28af8f91 100644
--- a/debian/po/cs.po
+++ b/debian/po/cs.po
@@ -16,7 +16,7 @@ msgstr ""
 "Project-Id-Version: glibc\n"
 "Report-Msgid-Bugs-To: glibc@packages.debian.org\n"
 "POT-Creation-Date: 2023-01-03 21:34+0100\n"
-"PO-Revision-Date: 2012-07-15 20:40+0200\n"
+"PO-Revision-Date: 2023-01-09 16:49+0100\n"
 "Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
 "Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
 "Language: cs\n"
@@ -246,7 +246,7 @@ msgstr ""
 #. Description
 #: ../debhelper.in/libc.templates:6001
 msgid "Kernel must be upgraded"
-msgstr ""
+msgstr "Je nutné aktualizovat jádro"
 
 #. Type: error
 #. Description
@@ -256,12 +256,15 @@ msgid ""
 "later.  Please upgrade your kernel and reboot before installing glibc. You "
 "may need to use \"apt -f install\" after reboot to solve dependencies."
 msgstr ""
+"Tato verze GNU libc vyžaduje jádro verze ${kernel_ver} nebo novější. Před "
+"instalací glibc nejprve aktualizujte jádro a restartujte počítač. Po "
+"restartu možná budete muset vyřešit závislosti příkazem „apt -f install“."
 
 #. Type: note
 #. Description
 #: ../debhelper.in/libc.templates:7001
 msgid "Kernel version not supported"
-msgstr ""
+msgstr "Nepodporovaná verze jádra"
 
 #. Type: note
 #. Description
@@ -271,3 +274,6 @@ msgid ""
 "later.  Older versions might work but are not officially supported by "
 "Debian.  Please consider upgrading your kernel."
 msgstr ""
+"Tato verze GNU libc vyžaduje jádro verze ${kernel_ver} nebo novější. "
+"Starší verze možná mohou fungovat, ale není to oficiálně podporováno. "
+"Zvažte prosím aktualizaci jádra."
diff --git a/debian/po/it.po b/debian/po/it.po
index 54a43eca..a06bd78e 100644
--- a/debian/po/it.po
+++ b/debian/po/it.po
@@ -1,13 +1,13 @@
 # Italian (it) translation of debconf templates for glibc
 # This file is distributed under the same license as the glibc package.
-# Luca Monducci <luca.mo@tiscali.it>, 2005-2020.
+# Luca Monducci <luca.mo@tiscali.it>, 2005-2023.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: glibc 2.31 debconf templates\n"
+"Project-Id-Version: glibc 2.36 debconf templates\n"
 "Report-Msgid-Bugs-To: glibc@packages.debian.org\n"
 "POT-Creation-Date: 2023-01-03 21:34+0100\n"
-"PO-Revision-Date: 2020-08-29 14:41+0200\n"
+"PO-Revision-Date: 2023-01-07 16:51+0100\n"
 "Last-Translator: Luca Monducci <luca.mo@tiscali.it>\n"
 "Language-Team: Italian <debian-l10n-italian@lists.debian.org>\n"
 "Language: it\n"
@@ -249,17 +249,15 @@ msgstr "È necessario aggiornare il kernel"
 #. Type: error
 #. Description
 #: ../debhelper.in/libc.templates:6001
-#, fuzzy
-#| msgid ""
-#| "This version of the GNU libc requires kernel version ${kernel_ver} or "
-#| "later.  Please upgrade your kernel before installing glibc."
 msgid ""
 "This version of the GNU libc requires kernel version ${kernel_ver} or "
 "later.  Please upgrade your kernel and reboot before installing glibc. You "
 "may need to use \"apt -f install\" after reboot to solve dependencies."
 msgstr ""
 "Questa versione di GNU libc richiede che la versione del kernel sia "
-"${kernel_ver} o successiva. Aggiornare il kernel prima di installare glibc."
+"${kernel_ver} o successiva. Aggiornare il kernel e riavviare prima di "
+"installare glibc. Dopo il riavvio potrebbe essere necessario eseguire "
+"«apt -f install» per risolvere le dipendenze."
 
 #. Type: note
 #. Description
diff --git a/debian/po/nl.po b/debian/po/nl.po
index bb1f8e24..e4602b89 100644
--- a/debian/po/nl.po
+++ b/debian/po/nl.po
@@ -3,14 +3,14 @@
 # This file is distributed under the same license as the glibc package.
 # Bart Cornelis <cobaco@skolelinux.no>, 2008.
 # Vincent Zweije <vincent@zweije.nl>, 2011.
-# Frans Spiesschaert <Frans.Spiesschaert@yucom.be>, 2016, 2017.
+# Frans Spiesschaert <Frans.Spiesschaert@yucom.be>, 2016-2017, 2023.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: glibc 2.21-6\n"
+"Project-Id-Version: glibc 2.36-8\n"
 "Report-Msgid-Bugs-To: glibc@packages.debian.org\n"
 "POT-Creation-Date: 2023-01-03 21:34+0100\n"
-"PO-Revision-Date: 2017-06-23 20:15+0200\n"
+"PO-Revision-Date: 2023-03-18 21:31+0100\n"
 "Last-Translator: Frans Spiesschaert <Frans.Spiesschaert@yucom.be>\n"
 "Language-Team: Debian Dutch l10n Team <debian-l10n-dutch@lists.debian.org>\n"
 "Language: nl\n"
@@ -18,7 +18,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Gtranslator 2.91.6\n"
+"X-Generator: Poedit 2.2.1\n"
 
 #. Type: multiselect
 #. Choices
@@ -258,18 +258,15 @@ msgstr "De kernel moet opgewaardeerd worden"
 #. Type: error
 #. Description
 #: ../debhelper.in/libc.templates:6001
-#, fuzzy
-#| msgid ""
-#| "This version of the GNU libc requires kernel version ${kernel_ver} or "
-#| "later.  Please upgrade your kernel before installing glibc."
 msgid ""
 "This version of the GNU libc requires kernel version ${kernel_ver} or "
 "later.  Please upgrade your kernel and reboot before installing glibc. You "
 "may need to use \"apt -f install\" after reboot to solve dependencies."
 msgstr ""
 "Deze versie van GNU libc heeft kernel versie ${kernel_ver} of een meer "
-"recente versie nodig. Gelieve de kernel op te waarderen vooraleer glibc te "
-"installeren."
+"recente versie nodig. Gelieve uw kernel op te waarderen en de computer te "
+"herstarten voor u glibc installeert. Mogelijk moet u na de herstart \"apt -f "
+"install\" gebruiken om vereisten op te lossen."
 
 #. Type: note
 #. Description
diff --git a/debian/po/pt.po b/debian/po/pt.po
index ec5b70f8..46f687c7 100644
--- a/debian/po/pt.po
+++ b/debian/po/pt.po
@@ -2,14 +2,14 @@
 # Copyright (C) 2007
 # This file is distributed under the same license as the glibc package.
 # Ricardo Silva <ardoric@gmail.com>, 2007.
-# Pedro Ribeiro <p.m42.ribeiro@gmail.com>, 2010, 2012, 2017
+# Pedro Ribeiro <p.m42.ribeiro@gmail.com>, 2010, 2012, 2017, 2023
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: glibc 2.24-17\n"
+"Project-Id-Version: glibc 2.36-8\n"
 "Report-Msgid-Bugs-To: glibc@packages.debian.org\n"
 "POT-Creation-Date: 2023-01-03 21:34+0100\n"
-"PO-Revision-Date: 2017-09-07 10:25+0100\n"
+"PO-Revision-Date: 2023-01-09 21:45+0100\n"
 "Last-Translator: Pedro Ribeiro <p.m42.ribeiro@gmail.com>\n"
 "Language-Team: Portuguese <traduz@debianpt.org>\n"
 "Language: pt\n"
@@ -248,17 +248,15 @@ msgstr "O kernel necessita de ser actualizado"
 #. Type: error
 #. Description
 #: ../debhelper.in/libc.templates:6001
-#, fuzzy
-#| msgid ""
-#| "This version of the GNU libc requires kernel version ${kernel_ver} or "
-#| "later.  Please upgrade your kernel before installing glibc."
 msgid ""
 "This version of the GNU libc requires kernel version ${kernel_ver} or "
 "later.  Please upgrade your kernel and reboot before installing glibc. You "
 "may need to use \"apt -f install\" after reboot to solve dependencies."
 msgstr ""
 "Esta versão da GNU libc necessita da versão ${kernel_ver} ou mais recente. "
-"Por favor, actualize o kernel antes de instalar a glibc."
+"Por favor, actualize o kernel e reinicie antes de instalar a glibc. Pode ter "
+"que utilizar \"apt -f install\" após o reinício para resolver as "
+"dependências."
 
 #. Type: note
 #. Description
diff --git a/debian/po/pt_BR.po b/debian/po/pt_BR.po
index f2dd4770..4529b32b 100644
--- a/debian/po/pt_BR.po
+++ b/debian/po/pt_BR.po
@@ -3,14 +3,14 @@
 # This file is distributed under the same license as the glibc package.
 # Felipe Augusto van de Wiel (faw) <faw@debian.org>, 2007-2008.
 # Fernando Ike de Oliveira (fike) <fike@midstorm.org>, 2013.
-# Adriano Rafael Gomes <adrianorg@debian.org>, 2014-2020.
+# Adriano Rafael Gomes <adrianorg@debian.org>, 2014-2023.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: glibc\n"
 "Report-Msgid-Bugs-To: glibc@packages.debian.org\n"
 "POT-Creation-Date: 2023-01-03 21:34+0100\n"
-"PO-Revision-Date: 2020-07-11 18:48-0300\n"
+"PO-Revision-Date: 2023-01-08 13:21-0300\n"
 "Last-Translator: Adriano Rafael Gomes <adrianorg@debian.org>\n"
 "Language-Team: Brazilian Portuguese <debian-l10n-portuguese@lists.debian."
 "org>\n"
@@ -254,17 +254,15 @@ msgstr "O kernel deve ser atualizado"
 #. Type: error
 #. Description
 #: ../debhelper.in/libc.templates:6001
-#, fuzzy
-#| msgid ""
-#| "This version of the GNU libc requires kernel version ${kernel_ver} or "
-#| "later.  Please upgrade your kernel before installing glibc."
 msgid ""
 "This version of the GNU libc requires kernel version ${kernel_ver} or "
 "later.  Please upgrade your kernel and reboot before installing glibc. You "
 "may need to use \"apt -f install\" after reboot to solve dependencies."
 msgstr ""
 "Essa versão da GNU libc requer um kernel versão ${kernel_ver} ou mais "
-"recente. Por favor, atualize o seu kernel antes de instalar a glibc."
+"recente. Por favor, atualize o seu kernel e reinicialize o computador antes "
+"de instalar a glibc. Você talvez precise usar \"apt -f install\" depois de "
+"reinicializar para resolver dependências."
 
 #. Type: note
 #. Description
diff --git a/debian/po/ro.po b/debian/po/ro.po
index 0186d50c..9e37b442 100644
--- a/debian/po/ro.po
+++ b/debian/po/ro.po
@@ -1,125 +1,142 @@
-# translation of po-debconf://kdebase.po to romanian
-# Romanian translation of glibc.
-# Copyright (C) 2006 THE glibc'S COPYRIGHT HOLDER
+# Translation of glibc debconf template to romanian
+# Traducere a șablonului debconf-glibc în limba română.
+# Copyright © 2006, 2007, 2008, 2023 THE glibc'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the glibc package.
 #
 # Stan Ioan-Eugen <stan.ieugen@gmail.com>, 2006, 2007, 2008.
+# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2023.
+#
+# Cronologia traducerii fișierului „debconf-glibc”:
+# Traducerea inițială, făcută de I-ES, pentru versiunea debconf-glibc 2.4/2.5
+# Actualizare a traducerii pentru versiunea 2.5.1 - 2.7, făcută de I-ES, 2007.
+# Actualizare a traducerii pentru versiunea 2.8 - 2.9, făcută de I-ES, 2008.
+# Actualizare a traducerii pentru versiunea 2.36-8, făcută de R-GC, 2023.
+# Actualizare a traducerii pentru versiunea Y, făcută de X, Z(anul).
+#
 msgid ""
 msgstr ""
-"Project-Id-Version: \n"
+"Project-Id-Version: debconf-glibc 2.36-8\n"
 "Report-Msgid-Bugs-To: glibc@packages.debian.org\n"
 "POT-Creation-Date: 2023-01-03 21:34+0100\n"
-"PO-Revision-Date: 2008-02-17 12:48+0200\n"
-"Last-Translator: stan ioan-eugen <stan.ieugen@gmail.com>\n"
+"PO-Revision-Date: 2023-01-08 15:46+0100\n"
+"Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
 "Language-Team: romanian <debian-l10n-romanian@lists.debian.org>\n"
-"Language: \n"
+"Language: ro\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
+"X-Generator: Poedit 3.2.2\n"
 
+# R-GC, scrie:
+# mesaj reformulat, de la:
+# „Toate localele” - mesajul vechi
 #. Type: multiselect
 #. Choices
 #: ../debhelper.in/locales.templates:1001
 msgid "All locales"
-msgstr "Toate localele"
+msgstr "Toate configurările regionale"
 
+# R-GC, scrie:
+# mesaj reformulat, de la:
+# „Localele ce vor fi generate:” - mesajul vechi
 #. Type: multiselect
 #. Description
 #: ../debhelper.in/locales.templates:1002
 msgid "Locales to be generated:"
-msgstr "Localele ce vor fi generate:"
+msgstr "Configurările regionale ce vor fi generate:"
 
+# R-GC, scrie:
+# mesaj reformulat, de la:
+# „"Locale este un cadru de lucru pentru utilizatori, care le permite acestora "
+# "să schimbe între mai multe limbi pentru a folosi propria lor limbă, țară, "
+# "caractere, formatare a datei, etc."”
+#  - mesajul vechi
 #. Type: multiselect
 #. Description
 #: ../debhelper.in/locales.templates:1002
 msgid ""
-"Locales are a framework to switch between multiple languages and allow users "
-"to use their language, country, characters, collation order, etc."
+"Locales are a framework to switch between multiple languages and allow users to "
+"use their language, country, characters, collation order, etc."
 msgstr ""
-"Locale este un cadru de lucru pentru utilizatori, care le permite acestora "
-"să schimbe între mai multe limbi pentru a folosi propria lor limbă, țară, "
-"caractere, formatare a datei, etc."
+"Configurările regionale (numite și „locales”) constituie un cadru de lucru "
+"pentru utilizatori, ce le permite acestora să aleagă propria lor limbă, țară, "
+"set de caractere, ordonare alfanumerică, formatare a datei, etc."
 
 #. Type: multiselect
 #. Description
 #: ../debhelper.in/locales.templates:1002
 msgid ""
 "Please choose which locales to generate. UTF-8 locales should be chosen by "
-"default, particularly for new installations. Other character sets may be "
-"useful for backwards compatibility with older systems and software."
+"default, particularly for new installations. Other character sets may be useful "
+"for backwards compatibility with older systems and software."
 msgstr ""
-"Alegeți ce locale se generează. Localele UTF-8 ar trebui alese implicit, în "
-"special pentru instalări noi. Din motive de compatibilitate cu soft sau "
-"sisteme mai vechi, puteți alege să se genereze și alte seturi de caractere."
+"Alegeți ce configurări regionale vor fi generate. Configurările regionale UTF-8 "
+"ar trebui alese implicit, în special pentru instalări noi. Din motive de "
+"compatibilitate cu software sau sisteme mai vechi, puteți alege să se genereze "
+"și alte seturi de caractere (sau datorită unor necesități proprii; de exemplu "
+"dorința/necesitatea de-a scrie într-o limbă diferită de cea maternă)."
 
 #. Type: select
 #. Choices
 #: ../debhelper.in/locales.templates:2001
 msgid "None"
-msgstr "Nici una"
+msgstr "Niciuna"
 
 #. Type: select
 #. Description
 #: ../debhelper.in/locales.templates:2002
 msgid "Default locale for the system environment:"
-msgstr "Locale implicite pentru sistem:"
+msgstr "Configurația regională implicită pentru acest sistem:"
 
 #. Type: select
 #. Description
 #: ../debhelper.in/locales.templates:2002
 msgid ""
-"Many packages in Debian use locales to display text in the correct language "
-"for the user. You can choose a default locale for the system from the "
-"generated locales."
+"Many packages in Debian use locales to display text in the correct language for "
+"the user. You can choose a default locale for the system from the generated "
+"locales."
 msgstr ""
-"Multe pachete din Debian folosesc locale pentru a afișa text în limba "
-"corectă pentru utilizatori. Puteți alege o valoarea pentru locale, implicită "
-"pentru sistem, din localele generate."
+"Multe pachete din Debian folosesc configurările regionale pentru a afișa text "
+"în limba corectă pentru utilizatori. Puteți alege o configurație regională, "
+"implicită pentru sistem, dintre configurațiile ce-au fost generate."
 
 #. Type: select
 #. Description
 #: ../debhelper.in/locales.templates:2002
 msgid ""
-"This will select the default language for the entire system. If this system "
-"is a multi-user system where not all users are able to speak the default "
-"language, they will experience difficulties."
+"This will select the default language for the entire system. If this system is "
+"a multi-user system where not all users are able to speak the default language, "
+"they will experience difficulties."
 msgstr ""
 "Această opțiune va stabili limba pentru tot sistemul. Dacă aveți un sistem "
-"multi-utilizator unde nu toți utilizatorii vorbesc limba aleasă, atunci ei "
-"vor întâmpina dificultăți."
+"multi-utilizator unde nu toți utilizatorii vorbesc limba aleasă, atunci ei vor "
+"întâmpina dificultăți."
 
 #. Type: boolean
 #. Description
 #: ../debhelper.in/libc.templates:1001
 msgid "Do you want to upgrade glibc now?"
-msgstr ""
+msgstr "Doriți să actualizați «glibc» acum?"
 
 #. Type: boolean
 #. Description
 #: ../debhelper.in/libc.templates:1001
-#, fuzzy
-#| msgid ""
-#| "Running services and programs that are using NSS need to be restarted, "
-#| "otherwise they might not be able to do lookup or authentication any more "
-#| "(for services such as ssh, this can affect your ability to login). Please "
-#| "review the following space-separated list of init.d scripts for services "
-#| "to be restarted now, and correct it if needed."
 msgid ""
 "Running services and programs that are using NSS need to be restarted, "
-"otherwise they might not be able to do lookup or authentication any more. "
-"The installation process is able to restart some services (such as ssh or "
-"telnetd), but other programs cannot be restarted automatically. One such "
-"program that needs manual stopping and restart after the glibc upgrade by "
-"yourself is xdm - because automatic restart might disconnect your active X11 "
-"sessions."
+"otherwise they might not be able to do lookup or authentication any more. The "
+"installation process is able to restart some services (such as ssh or telnetd), "
+"but other programs cannot be restarted automatically. One such program that "
+"needs manual stopping and restart after the glibc upgrade by yourself is xdm - "
+"because automatic restart might disconnect your active X11 sessions."
 msgstr ""
-"Serviciile și programele care rulează și folosesc NSS trebuiesc repornite, "
-"altfel este posibil să nu mai poată efectua autentificarea sau căutarea "
-"numelor (în cazul serviciilor gen ssh, acest lucru poate determina "
-"imposibilitatea autentificării). Analizati următoarea listă ce conține, "
-"separate prin spațiu, scripturi init.d ale serviciilor ce trebuiesc "
-"repornite acum și corectați-o dacă este nevoie."
+"Serviciile și programele care rulează și utilizează NSS trebuiesc repornite, "
+"altfel este posibil să nu mai poată efectua căutarea sau autentificarea. "
+"Procesul de instalare este capabil să repornească unele servicii (cum ar fi ssh "
+"sau telnetd), dar alte programe nu pot fi repornite automat. Un astfel de "
+"program care necesită oprire și repornire manuală după actualizarea glibc este "
+"«xdm», «gdm3», «sddm», sau orice alt administrator de sesiune grafică - "
+"deoarece repornirea automată ar putea deconecta sesiunile dumneavoastră active "
+"X11."
 
 #. Type: boolean
 #. Description
@@ -128,14 +145,18 @@ msgid ""
 "This script detected the following installed services which must be stopped "
 "before the upgrade: ${services}"
 msgstr ""
+"Acest script a detectat următoarele servicii instalate care trebuie oprite "
+"înainte de actualizare: ${services}"
 
 #. Type: boolean
 #. Description
 #: ../debhelper.in/libc.templates:1001
 msgid ""
-"If you want to interrupt the upgrade now and continue later, please answer "
-"No to the question below."
+"If you want to interrupt the upgrade now and continue later, please answer No "
+"to the question below."
 msgstr ""
+"Dacă doriți să întrerupeți actualizarea acum și să continuați mai târziu, "
+"răspundeți Nu la întrebarea de mai jos."
 
 #. Type: string
 #. Description
@@ -148,23 +169,22 @@ msgstr "Servicii ce trebuiesc repornite la înnoirea bibliotecii GNU libc:"
 #: ../debhelper.in/libc.templates:2001
 msgid ""
 "Running services and programs that are using NSS need to be restarted, "
-"otherwise they might not be able to do lookup or authentication any more "
-"(for services such as ssh, this can affect your ability to login). Please "
-"review the following space-separated list of init.d scripts for services to "
-"be restarted now, and correct it if needed."
+"otherwise they might not be able to do lookup or authentication any more (for "
+"services such as ssh, this can affect your ability to login). Please review the "
+"following space-separated list of init.d scripts for services to be restarted "
+"now, and correct it if needed."
 msgstr ""
 "Serviciile și programele care rulează și folosesc NSS trebuiesc repornite, "
-"altfel este posibil să nu mai poată efectua autentificarea sau căutarea "
-"numelor (în cazul serviciilor gen ssh, acest lucru poate determina "
-"imposibilitatea autentificării). Analizati următoarea listă ce conține, "
-"separate prin spațiu, scripturi init.d ale serviciilor ce trebuiesc "
-"repornite acum și corectați-o dacă este nevoie."
+"altfel este posibil să nu mai poată efectua autentificarea sau căutarea numelor "
+"(în cazul serviciilor precum ssh, acest lucru poate determina imposibilitatea "
+"autentificării). Revizați următoarea listă ce conține, separate prin spațiu, "
+"scripturi init.d ale serviciilor ce trebuiesc repornite acum și corectați-o "
+"dacă este nevoie."
 
 #. Type: string
 #. Description
 #: ../debhelper.in/libc.templates:2001
-msgid ""
-"Note: restarting sshd/telnetd should not affect any existing connections."
+msgid "Note: restarting sshd/telnetd should not affect any existing connections."
 msgstr ""
 "Notă: repornirea sshd/telnetd nu ar trebui să afecteze conexiunile existente."
 
@@ -172,90 +192,124 @@ msgstr ""
 #. Description
 #: ../debhelper.in/libc.templates:3001
 msgid "Failure restarting some services for GNU libc upgrade"
-msgstr "Eșec la pornirea unor servicii pentru înnoirea GNU libc"
+msgstr "Eșec la repornirea unor servicii pentru înnoirea GNU libc"
 
 #. Type: error
 #. Description
 #: ../debhelper.in/libc.templates:3001
 msgid ""
-"The following services could not be restarted for the GNU libc library "
-"upgrade:"
+"The following services could not be restarted for the GNU libc library upgrade:"
 msgstr ""
-"Următoarele servicii nu ar trebui repornite la înnoirea bibliotecii GNU libc."
+"Următoarele servicii nu ar trebui repornite la înnoirea bibliotecii GNU libc:"
 
 #. Type: error
 #. Description
 #: ../debhelper.in/libc.templates:3001
 msgid ""
-"You will need to start these manually by running 'invoke-rc.d <service> "
-"start'."
+"You will need to start these manually by running 'invoke-rc.d <service> start'."
 msgstr ""
-"Va trebui să porniți aceste servicii manual executând comanda 'invoke-rc.d "
-"<serviciu> start'."
+"Va trebui să porniți aceste servicii manual executând comanda «invoke-rc.d "
+"<serviciul_dorit> start»."
 
 #. Type: error
 #. Description
 #: ../debhelper.in/libc.templates:4001
 msgid "xscreensaver and xlockmore must be restarted before upgrading"
 msgstr ""
+"«xscreensaver» și «xlockmore» trebuie să fie repornite înainte de a face "
+"înnoirea"
 
 #. Type: error
 #. Description
 #: ../debhelper.in/libc.templates:4001
 msgid ""
-"One or more running instances of xscreensaver or xlockmore have been "
-"detected on this system. Because of incompatible library changes, the "
-"upgrade of the GNU libc library will leave you unable to authenticate to "
-"these programs. You should arrange for these programs to be restarted or "
-"stopped before continuing this upgrade, to avoid locking your users out of "
-"their current sessions."
+"One or more running instances of xscreensaver or xlockmore have been detected "
+"on this system. Because of incompatible library changes, the upgrade of the GNU "
+"libc library will leave you unable to authenticate to these programs. You "
+"should arrange for these programs to be restarted or stopped before continuing "
+"this upgrade, to avoid locking your users out of their current sessions."
 msgstr ""
+"Una sau mai multe instanțe ale programelor «xscreensaver» sau «xlockmore» au "
+"fost detectate pe acest sistem. Din cauza modificărilor incompatibile ale "
+"bibliotecii, înnoirea bibliotecii GNU libc vă va lăsa în imposibilitatea de a "
+"vă autentifica la aceste programe. Ar trebui să aranjați ca aceste programe să "
+"fie repornite sau oprite înainte de a continua această actualizare, pentru a "
+"evita blocarea utilizatorilor în sesiunile lor curente."
 
 #. Type: boolean
 #. Description
 #: ../debhelper.in/libc.templates:5001
 msgid "Restart services during package upgrades without asking?"
 msgstr ""
+"Doriți ca serviciile să fie repornite în timpul înnoirii pachetului fără să "
+"fiți întrebați?"
 
 #. Type: boolean
 #. Description
 #: ../debhelper.in/libc.templates:5001
 msgid ""
 "There are services installed on your system which need to be restarted when "
-"certain libraries, such as libpam, libc, and libssl, are upgraded. Since "
-"these restarts may cause interruptions of service for the system, you will "
-"normally be prompted on each upgrade for the list of services you wish to "
-"restart.  You can choose this option to avoid being prompted; instead, all "
-"necessary restarts will be done for you automatically so you can avoid being "
-"asked questions on each library upgrade."
+"certain libraries, such as libpam, libc, and libssl, are upgraded. Since these "
+"restarts may cause interruptions of service for the system, you will normally "
+"be prompted on each upgrade for the list of services you wish to restart.  You "
+"can choose this option to avoid being prompted; instead, all necessary restarts "
+"will be done for you automatically so you can avoid being asked questions on "
+"each library upgrade."
 msgstr ""
+"Există servicii instalate pe sistemul dumneavoastră care trebuie repornite "
+"atunci când anumite biblioteci, cum ar fi „libpam”, „libc” și „libss”l, sunt "
+"actualizate. Deoarece aceste reporniri pot cauza întreruperi ale serviciilor "
+"pentru sistem, vi se va solicita în mod normal, la fiecare actualizare, lista "
+"de servicii pe care doriți să le reporniți. Puteți alege această opțiune pentru "
+"a evita să vi se solicite acordul pentru acest lucru; în schimb, toate "
+"repornirile necesare vor fi efectuate automat pentru dvs., astfel încât să "
+"puteți evita să vi se pună întrebări la fiecare actualizare a bibliotecii."
 
 #. Type: error
 #. Description
 #: ../debhelper.in/libc.templates:6001
 msgid "Kernel must be upgraded"
-msgstr ""
+msgstr "Nucleul trebuie să fie înnoit"
 
 #. Type: error
 #. Description
 #: ../debhelper.in/libc.templates:6001
 msgid ""
-"This version of the GNU libc requires kernel version ${kernel_ver} or "
-"later.  Please upgrade your kernel and reboot before installing glibc. You "
-"may need to use \"apt -f install\" after reboot to solve dependencies."
+"This version of the GNU libc requires kernel version ${kernel_ver} or later.  "
+"Please upgrade your kernel and reboot before installing glibc. You may need to "
+"use \"apt -f install\" after reboot to solve dependencies."
 msgstr ""
+"Această versiune a bibliotecii libc GNU necesită versiunea nucleului "
+"${kernel_ver} sau o versiune ulterioară.  Actualizați nucleul și să reporniți "
+"înainte de a instala glibc. Este posibil să fie nevoie să utilizați comanda "
+"«apt -f install» după repornire, pentru a rezolva problemele de dependențe."
 
+# R-GC, scrie:
+# după revizarea fișierului, DȘ spune:
+# „Am identificat următoarea problemă:
+# * Kernel version not supported
+# * Versiunea nucleului nu este acceptată
+# → aici cred că se pierde înțelesul original prin folosirea lui „acceptată”. Dacă vrei să-l eviți pe „suportată” ai putea zice că nu este „compatibilă” (cu restul sistemului, bănuiesc)”
+# ***
+# Așa că am moduficat traducerea anterioară
+# a mesajului, la ceea ce este acum:
+# „Versiunea nucleului este incompatibilă cu cea a bibliotecii C «glibc»”
 #. Type: note
 #. Description
 #: ../debhelper.in/libc.templates:7001
 msgid "Kernel version not supported"
 msgstr ""
+"Versiunea nucleului este incompatibilă cu cea a bibliotecii C de GNU, «glibc»"
 
 #. Type: note
 #. Description
 #: ../debhelper.in/libc.templates:7001
 msgid ""
-"This version of the GNU libc requires kernel version ${kernel_ver} or "
-"later.  Older versions might work but are not officially supported by "
-"Debian.  Please consider upgrading your kernel."
+"This version of the GNU libc requires kernel version ${kernel_ver} or later.  "
+"Older versions might work but are not officially supported by Debian.  Please "
+"consider upgrading your kernel."
 msgstr ""
+"Această versiune a bibliotecii libc GNU necesită versiunea nucleului "
+"${kernel_ver} sau o versiune ulterioară.  Versiunile mai vechi ar putea "
+"funcționa, dar nu sunt acceptate oficial de Debian.  N-ar fi rău, să luați în "
+"considerare actualizarea nucleului."
diff --git a/debian/po/sk.po b/debian/po/sk.po
index bb727305..94997be8 100644
--- a/debian/po/sk.po
+++ b/debian/po/sk.po
@@ -256,7 +256,7 @@ msgid ""
 msgstr ""
 "Táto verzia GNU libc vyžduje verziu kernelu ${kernel_ver} alebo "
 "neskoršiu. Aktualizujte prosím Váš kernel a reštartujte systém pred inštaláciou glibc. V prípade "
-"chíbajúcich závisostí po reštarte, použite príkaz \"apt -f install\. "
+"chíbajúcich závisostí po reštarte, použite príkaz \"apt -f install\"."
 
 #. Type: note
 #. Description
diff --git a/debian/po/tr.po b/debian/po/tr.po
index 80c4c3e4..d9192d11 100644
--- a/debian/po/tr.po
+++ b/debian/po/tr.po
@@ -1,21 +1,22 @@
-# Turkish translation of locales.
-# This file is distributed under the same license as the locales package.
-# Erçin EKER <erc.caldera@gmx.net>, 2004,2007.
+# Turkish translation of glibc.
+# This file is distributed under the same license as the glibc package.
+# Erçin EKER <erc.caldera@gmx.net>, 2004, 2007.
+# Mert Dirik <mertdirik@gmail.com>, 2014.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: glibc\n"
 "Report-Msgid-Bugs-To: glibc@packages.debian.org\n"
 "POT-Creation-Date: 2023-01-03 21:34+0100\n"
-"PO-Revision-Date: 2014-08-01 03:34+0200\n"
-"Last-Translator: Mert Dirik <mertdirik@gmail.com>\n"
-"Language-Team: debian-l10n-turkish <debian-l10n-turkish@lists.debian.org>\n"
+"PO-Revision-Date: 2022-12-29 14:56+0300\n"
+"Last-Translator: Atila KOÇ <koc@artielektronik.com.tr>\n"
 "Language: tr\n"
+"Language-Team: debian-l10n-turkish <debian-l10n-turkish@lists.debian.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 2.4.2\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
 #. Type: multiselect
 #. Choices
@@ -27,7 +28,7 @@ msgstr "Tüm yereller"
 #. Description
 #: ../debhelper.in/locales.templates:1002
 msgid "Locales to be generated:"
-msgstr "Oluşturulacak yereller: "
+msgstr "Oluşturulacak yereller:"
 
 #. Type: multiselect
 #. Description
@@ -36,9 +37,9 @@ msgid ""
 "Locales are a framework to switch between multiple languages and allow users "
 "to use their language, country, characters, collation order, etc."
 msgstr ""
-"Yerel (locale), kullanıcıların kullanmak istediği dil, ülke, karakter, "
-"sıralama şekli gibi dile özgü ayarlar arasında kolayca geçiş yapmasını "
-"sağlayan bir yapıdır."
+"Yereller; kullanıcıların kendi dillerini, yazı karakterlerini, ülkelerine ve "
+"dillerine özgü tanımlama şekillerini kullanabilmeleri için birden çok dil "
+"arasında geçiş yapmalarını sağlayan bir yapıdır."
 
 #. Type: multiselect
 #. Description
@@ -48,9 +49,9 @@ msgid ""
 "default, particularly for new installations. Other character sets may be "
 "useful for backwards compatibility with older systems and software."
 msgstr ""
-"Lütfen hangi yerellerin oluşturulacağını seçin. Yeni kurulum için UTF-8 "
-"yereller öntanımlı olarak seçilecektir. Diğer karakter setleri daha eski "
-"sistemler ve yazılımlar ile uyumluluk için yararlı olabilir."
+"Hangi yerellerin oluşturulacağını seçin. Yeni kurulumlar için ön tanımlı "
+"olarak UTF-8 yereller seçilecektir. Daha eski sistemler ve yazılımlar ile "
+"uyumluluk için başka karakter setleri de yararlı olabilir."
 
 #. Type: select
 #. Choices
@@ -62,7 +63,7 @@ msgstr "Hiçbiri"
 #. Description
 #: ../debhelper.in/locales.templates:2002
 msgid "Default locale for the system environment:"
-msgstr "Sistem ortamında kullanılacak öntanımlı yerel:"
+msgstr "Sistemin kullanacağı ön tanımlı yerel:"
 
 #. Type: select
 #. Description
@@ -72,9 +73,9 @@ msgid ""
 "for the user. You can choose a default locale for the system from the "
 "generated locales."
 msgstr ""
-"Çoğu Debian paketi iletileri göstermekte kullanacağı dili belirlemek için "
-"yerelleri kullanır. Oluşturulmak üzere seçtikleriniz arasından sistem için "
-"öntanımlı bir yerel seçebilirsiniz."
+"Debian paketleri sizinle düzgün iletişim kurmak amacıyla seçeceği dili "
+"belirlerken, yerelleri kullanır. Eklediğiniz yereller arasından sisteminiz "
+"için ön tanımlı bir yerel seçebilirsiniz."
 
 #. Type: select
 #. Description
@@ -84,15 +85,16 @@ msgid ""
 "is a multi-user system where not all users are able to speak the default "
 "language, they will experience difficulties."
 msgstr ""
-"Bu ayar, sisteminizin tümünde kullanılacak olan dili belirleyecektir. Farklı "
-"dilleri konuşan kullanıcıların bir arada bulunduğu çok kullanıcılı "
-"sistemlerdeki kullanıcılar bazı zorluklarla karşılaşabilir."
+"Bu seçim, sisteminizin tümünde kullanılacak olan ön tanımlı dili "
+"belirleyecektir. Sisteminiz aynı dili konuşmayan kullanıcılar tarafından "
+"kullanıyorsa, ön tanımlı yerel dilini kullanmayan kullanıcılar bazı "
+"zorluklarla karşılaşabilir."
 
 #. Type: boolean
 #. Description
 #: ../debhelper.in/libc.templates:1001
 msgid "Do you want to upgrade glibc now?"
-msgstr "glibc'yi şimdi yükseltmek istiyor musunuz?"
+msgstr "glibc paketini şimdi yükseltmek istiyor musunuz?"
 
 #. Type: boolean
 #. Description
@@ -106,12 +108,13 @@ msgid ""
 "yourself is xdm - because automatic restart might disconnect your active X11 "
 "sessions."
 msgstr ""
-"NSS kullanan hizmetler, yeniden başlatılmadıkları takdirde arama veya kimlik "
-"doğrulama gibi işlemleri yapamayacaklardır. Kurulum süreci bazı hizmetleri "
-"yeniden başlatabilir (örneğin sshd veya telnetd'yi), ama her hizmet otomatik "
-"olarak yeniden başlatılamaz. glibc yükseltmesinden sonra elle yeniden "
-"başlatmanız gereken hizmetlerden biri de xdm'dir, çünkü otomatik olarak "
-"yeniden başlatılması halinde etkin X11 oturumlarının kapanmasına sebep olur. "
+"NSS kullanan hizmetler ve programlar yeniden başlatılmalıdır. "
+"Başlatılmazlarsa, kimlik arama veya doğrulama gibi işlemleri düzgün "
+"yapamayacaklardır. Kurulum süreci ssh ve telnetd gibi bazı hizmetleri "
+"yeniden başlatmayı başarabilmekle birlikte, her hizmeti kendiliğinden "
+"yeniden başlatamaz. glibc yükseltmesinden sonra elle yeniden başlatmanız "
+"gereken hizmetlerden biri de xdm'dir. Çünkü onun kendiliğinden yeniden "
+"başlatılması, açılmış X11 oturumlarının kopmasına sebep olabilir."
 
 #. Type: boolean
 #. Description
@@ -120,7 +123,7 @@ msgid ""
 "This script detected the following installed services which must be stopped "
 "before the upgrade: ${services}"
 msgstr ""
-"Bu betik, yükseltme işlemi yapılmadan önce şu hizmetlerin yeniden "
+"Bu betik, yükseltme işlemi yapılmadan önce bu hizmetlerin yeniden "
 "başlatılması gerektiğini algıladı: ${services}"
 
 #. Type: boolean
@@ -130,15 +133,15 @@ msgid ""
 "If you want to interrupt the upgrade now and continue later, please answer "
 "No to the question below."
 msgstr ""
-"Eğer yükseltme işlemini ertelemek istiyorsanız lütfen aşağıdaki soruya Hayır "
-"yanıtını verin."
+"Eğer yükseltme işlemini şimdi durdurup sonra sürdürmek istiyorsanız, "
+"aşağıdaki soruya \"Hayır\" yanıtını verin."
 
 #. Type: string
 #. Description
 #: ../debhelper.in/libc.templates:2001
 msgid "Services to restart for GNU libc library upgrade:"
 msgstr ""
-"GNU libc kitaplığı yükseltmesi esnasında yeniden başlatılacak olan hizmetler:"
+"GNU libc kitaplığının yükseltmesi için yeniden başlatılacak olan hizmetler:"
 
 #. Type: string
 #. Description
@@ -150,11 +153,11 @@ msgid ""
 "review the following space-separated list of init.d scripts for services to "
 "be restarted now, and correct it if needed."
 msgstr ""
-"NSS kullanan hizmetler yeniden başlatılmadıkları takdirde arama veya kimlik "
-"doğrulama gibi işlemleri yapamayacaklardır (örneğin ssh gibi hizmetler için, "
-"böyle bir durumda oturum açamayabilirsiniz). Lütfen yeniden başlatılacak "
-"hizmetlere ilişkin init.d betiklerinin boşluklarla ayrılmış aşağıdaki "
-"listesini inceleyin ve gerekliyse listeyi düzeltin."
+"NSS kullanan hizmetler ve programlar yeniden başlatılmalıdır. "
+"Başlatılmazlarsa, kimlik arama veya doğrulama gibi işlemleri düzgün "
+"yapamayacaklardır. Örneğin ssh hizmeti ile oturum açamayabilirsiniz. Yeniden "
+"başlatılacak hizmetlere ilişkin init.d betiklerinin boşluklarla ayrılmış "
+"aşağıdaki listesini inceleyin ve gerekiyorsa düzeltin."
 
 #. Type: string
 #. Description
@@ -162,13 +165,16 @@ msgstr ""
 msgid ""
 "Note: restarting sshd/telnetd should not affect any existing connections."
 msgstr ""
-"Not: sshd/telnetd'nin yeniden başlatılması mevcut bağlantıları etkilemez."
+"Not: sshd/telnetd hizmetlerinin yeniden başlatılması varolan bağlantıları "
+"etkilemez."
 
 #. Type: error
 #. Description
 #: ../debhelper.in/libc.templates:3001
 msgid "Failure restarting some services for GNU libc upgrade"
-msgstr "GNU libc yükseltmesi esnasında bazı hizmetler yeniden başlatılamadı"
+msgstr ""
+"GNU libc kitaplığının yükseltmesi sırasında bazı hizmetler yeniden "
+"başlatılamadı"
 
 #. Type: error
 #. Description
@@ -176,9 +182,7 @@ msgstr "GNU libc yükseltmesi esnasında bazı hizmetler yeniden başlatılamad
 msgid ""
 "The following services could not be restarted for the GNU libc library "
 "upgrade:"
-msgstr ""
-"Aşağıdaki hizmetler GNU libc yükseltmesi için yeniden başlatılırken bazı "
-"sorunlar oluştu:"
+msgstr "Aşağıdaki hizmetler glibc yükseltmesi için yeniden başlatılamadı:"
 
 #. Type: error
 #. Description
@@ -187,8 +191,8 @@ msgid ""
 "You will need to start these manually by running 'invoke-rc.d <service> "
 "start'."
 msgstr ""
-"Bu hizmetleri 'invoke-rc.d <hizmet> start' komutunu kullanarak elle "
-"başlatmanız gerekmektedir."
+"Bu hizmetleri \"invoke-rc.d <hizmet> start\" komutunu kullanarak elle "
+"başlatmanız gerekecektedir."
 
 #. Type: error
 #. Description
@@ -209,18 +213,19 @@ msgid ""
 "stopped before continuing this upgrade, to avoid locking your users out of "
 "their current sessions."
 msgstr ""
-"Sisteminizde çalışmakta olan birden fazla xscreensaver ya da xlockmore "
-"örneğine rastlandı. Uyumsuz kitaplık değişiklikleri yüzünden, GNU libc "
-"paketinin yükseltilmesi bu programlarda kimlik doğrulamasını olanaksız hale "
-"getirecek. Mevcut oturumların kilitlenmesi önlemek için, yükseltme işlemine "
-"devam etmeden önce bu programları durdurmalı ya da yeniden başlatmalısınız."
+"Sisteminizde bir ya da daha fazla xscreensaver veya xlockmore örneğinin "
+"çalışmakta olduğu algılandı. Uyumsuz kitaplık değişiklikleri yüzünden, glibc "
+"paketinin yükseltilmesi bu programlarda kimlik doğrulamasını olanaksız "
+"kılacaktır. Varolan oturumların kilitlenmesi önlemek için, yükseltme "
+"işleminini sürdürmeden önce bu programları durdurmalı ya da yeniden "
+"başlatmalısınız."
 
 #. Type: boolean
 #. Description
 #: ../debhelper.in/libc.templates:5001
 msgid "Restart services during package upgrades without asking?"
 msgstr ""
-"Hizmetler paket yükseltme işlemi esnasında size sorulmadan yeniden "
+"Hizmetler paket yükseltme işlemi sırasında size sorulmadan yeniden "
 "başlatılsın mı?"
 
 #. Type: boolean
@@ -236,19 +241,19 @@ msgid ""
 "asked questions on each library upgrade."
 msgstr ""
 "Sisteminizde libpam, libc ve libssl gibi bazı kitaplıklar yükseltildiğinde "
-"yeniden başlatılması gereken bazı hizmetler kurulu. Yeniden başlatma "
-"işlemleri sisteminizin sunduğu hizmetlerde kesintilere neden olabileceğinden "
-"dolayı her yükseltme işlemi esnasında yeniden başlatmak istediğiniz "
-"hizmetler size sorulacaktır. Eğer bu sorunun sorulmasını istemiyorsanız bu "
-"seçeneği kullanabilirsiniz. Bu seçenek seçildiği takdirde bir kitaplık "
+"yeniden başlatılması gereken hizmetler kurulu. Yeniden başlatma işlemleri "
+"sisteminizin sunduğu hizmetlerde kesintilere neden olabileceğinden dolayı "
+"her yükseltme işlemi sırasında yeniden başlatmak istediğiniz hizmetler için "
+"onayınız alınacaktır. Eğer onayınızın alınmasını istemiyorsanız, \"Evet\" "
+"seçeneğini kullanabilirsiniz. Bu seçeneği seçerseniz, bir kitaplık "
 "yükseltmesi yapılırken gereken tüm yeniden başlatma işlemleri size "
-"sorulmaksızın otomatik olarak yapılacaktır."
+"sorulmaksızın kendiliğinden yapılacaktır."
 
 #. Type: error
 #. Description
 #: ../debhelper.in/libc.templates:6001
 msgid "Kernel must be upgraded"
-msgstr ""
+msgstr "Linux çekirdeği güncellenmelidir"
 
 #. Type: error
 #. Description
@@ -258,12 +263,17 @@ msgid ""
 "later.  Please upgrade your kernel and reboot before installing glibc. You "
 "may need to use \"apt -f install\" after reboot to solve dependencies."
 msgstr ""
+"GNU libc kitaplığının bu sürümü ${kernel_ver} çekirdek sürümü ya da daha "
+"yenisi ile çalışabilmektedir. GNU libc kurulumu öncesinde çekirdek "
+"sürümünüzü güncelleyin ve sisteminizi yeniden başlatın. Bağımlılık "
+"sorunlarını gidermek için, yeniden başlatmanız sonrasında \"apt -f install\" "
+"komutunu kullanmanız gerekebilir."
 
 #. Type: note
 #. Description
 #: ../debhelper.in/libc.templates:7001
 msgid "Kernel version not supported"
-msgstr ""
+msgstr "Linux çekirdeği sürümü desteklenmiyor"
 
 #. Type: note
 #. Description
@@ -273,3 +283,7 @@ msgid ""
 "later.  Older versions might work but are not officially supported by "
 "Debian.  Please consider upgrading your kernel."
 msgstr ""
+"GNU libc kitaplığının bu sürümü ${kernel_ver} çekirdek sürümü ya da daha "
+"yenisi ile çalışabilmektedir. Eski sürümler ile çalışabilse de, eski "
+"sürümler Debian tarafından desteklenmemektedir. Çekirdek sürümünüzü "
+"güncelleme konusunu değerlendirin."
diff --git a/debian/po/zh_CN.po b/debian/po/zh_CN.po
index edb74e41..c3e4fe20 100644
--- a/debian/po/zh_CN.po
+++ b/debian/po/zh_CN.po
@@ -13,6 +13,8 @@
 # Hiei Xu <nicky@mail.edu.cn>, 2004.
 # Carlos Z.F. Liu <carlos_liu@yahoo.com>, 2004.
 # LI Daobing <lidaobing@gmail.com>, 2007, 2008.
+# Tianyu Chen <billchenchina2001@gmail.com>, 2022.
+# Cyan Young <cyanoxygen@aosc.io>, 2022.
 #
 #
 msgid ""
@@ -20,13 +22,14 @@ msgstr ""
 "Project-Id-Version: glibc 2.7-9\n"
 "Report-Msgid-Bugs-To: glibc@packages.debian.org\n"
 "POT-Creation-Date: 2023-01-03 21:34+0100\n"
-"PO-Revision-Date: 2008-02-28 23:44+0800\n"
-"Last-Translator: LI Daobing <lidaobing@gmail.com>\n"
+"PO-Revision-Date: 2023-01-08 17:46+0800\n"
+"Last-Translator: Tianyu Chen <billchenchina2001@gmail.com>\n"
 "Language-Team: Chinese (Simplified) <debian-chinese-gb@lists.debian.org>\n"
-"Language: \n"
+"Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 3.2.2\n"
 
 #. Type: multiselect
 #. Choices
@@ -186,7 +189,7 @@ msgstr "你需要通过手动运行 'invoke-rc.d <service> start' 来启动这
 #. Description
 #: ../debhelper.in/libc.templates:4001
 msgid "xscreensaver and xlockmore must be restarted before upgrading"
-msgstr ""
+msgstr "xscreensaver 和 xlockmore 需要重启才能升级"
 
 #. Type: error
 #. Description
@@ -199,12 +202,16 @@ msgid ""
 "stopped before continuing this upgrade, to avoid locking your users out of "
 "their current sessions."
 msgstr ""
+"在此系统上检测到一个或多个正在运行的 xscreensaver 或 xlockmore 进程。由于 "
+"GNU libc 库的升级存在不兼容的更改,因此升级后会导致用户无法在这些程序中进行身"
+"份认证(或登录)。为避免出现用户无法解锁会话的情况,在继续升级前请重新启动或"
+"停止这些程序。"
 
 #. Type: boolean
 #. Description
 #: ../debhelper.in/libc.templates:5001
 msgid "Restart services during package upgrades without asking?"
-msgstr ""
+msgstr "要在升级时自动重启服务吗?"
 
 #. Type: boolean
 #. Description
@@ -218,12 +225,16 @@ msgid ""
 "necessary restarts will be done for you automatically so you can avoid being "
 "asked questions on each library upgrade."
 msgstr ""
+"您系统中部分运行中的服务由于依赖或使用了当前正在更新的库(如 libpam、libc、"
+"libssl 等),需要重新启动。鉴于此类重启的操作可能会导致系统中的服务被中断,每"
+"次更新时系统通常会提示您选择需要重启的服务。您可以勾选该选项,让系统在后续遇"
+"到此类更新时自动重启必要的服务,同时避免在更新时出现此提示。"
 
 #. Type: error
 #. Description
 #: ../debhelper.in/libc.templates:6001
 msgid "Kernel must be upgraded"
-msgstr ""
+msgstr "内核需要升级"
 
 #. Type: error
 #. Description
@@ -233,12 +244,15 @@ msgid ""
 "later.  Please upgrade your kernel and reboot before installing glibc. You "
 "may need to use \"apt -f install\" after reboot to solve dependencies."
 msgstr ""
+"此版本的 GNU glibc 需要版本为 ${kernel_ver} 或更高版本的内核。安装 glibc 前请"
+"先升级你的内核并重启计算机。重启后你可能需要使用 \"apt -f install\" 来解决依"
+"赖问题。"
 
 #. Type: note
 #. Description
 #: ../debhelper.in/libc.templates:7001
 msgid "Kernel version not supported"
-msgstr ""
+msgstr "不支持的内核版本"
 
 #. Type: note
 #. Description
@@ -248,3 +262,6 @@ msgid ""
 "later.  Older versions might work but are not officially supported by "
 "Debian.  Please consider upgrading your kernel."
 msgstr ""
+"此版本的 GNU glibc 需要版本为 ${kernel_ver} 或更高版本的内核。  使用旧版本内"
+"核时系统可能会正常运行,但是此类情况不被 Debian 正式支持。请考虑升级你的内"
+"核。"
diff --git a/debian/sysdeps/hurd.mk b/debian/sysdeps/hurd.mk
index 0bbfdcfe..e4ae4073 100644
--- a/debian/sysdeps/hurd.mk
+++ b/debian/sysdeps/hurd.mk
@@ -42,6 +42,9 @@ $(stamp)mkincludedir:
 # Also to make configure happy.
 export CPPFLAGS = -isystem $(shell pwd)/debian/include
 
+# We prefer easy backtraces over small performance hit
+extra_cflags = -fno-omit-frame-pointer
+
 # Do not care about kernel versions for now.
 define kernel_check
 true
diff --git a/debian/testsuite-xfail-debian.mk b/debian/testsuite-xfail-debian.mk
index 37b813ab..c36803dc 100644
--- a/debian/testsuite-xfail-debian.mk
+++ b/debian/testsuite-xfail-debian.mk
@@ -225,24 +225,6 @@ ifeq ($(config-machine)-$(config-os),i686-gnu-gnu)
 # creating files.
 test-xfail-tst-null-argv = yes
 
-# bounding memory allocation is not supported yet
-tests-unsupported += tst-malloc-thread-fail
-tests-unsupported += tst-malloc-thread-fail-malloc-check
-tests-unsupported += tst-malloc-thread-fail-mcheck
-tests-unsupported += tst-malloc-thread-fail-malloc-hugetlb1
-tests-unsupported += tst-malloc-thread-fail-malloc-hugetlb2
-tests-unsupported += tst-dynarray-fail
-
-# This overflows pflocal with select requests
-tests-unsupported += tst-pthread_cancel-select-loop
-
-# These stay stuck
-tests-unsupported += tst-audit14
-tests-unsupported += tst-audit14a
-tests-unsupported += tst-audit15
-tests-unsupported += tst-audit16
-tests-unsupported += tst-audit17
-
 # We don't provide /proc/cpuinfo yet
 test-xfail-test-multiarch = yes
 test-xfail-tst-cpu-features-cpuinfo = yes
@@ -306,6 +288,7 @@ tests-unsupported += test-lfs
 test-xfail-tst-tzset = yes
 
 # want /proc/self/fd
+# TODO: make them use FD_TO_FILENAME_PREFIX from <arch-fd_to_filename.h>
 test-xfail-tst-if_index-long = yes
 test-xfail-tst-support_descriptors = yes
 test-xfail-tst-updwtmpx = yes
@@ -314,6 +297,7 @@ test-xfail-tst-closefrom = yes
 test-xfail-tst-close_range = yes
 test-xfail-tst-support-open-dev-null-range = yes
 test-xfail-tst-spawn5 = yes
+test-xfail-tst-open-tmpfile = yes
 
 # new in 2.22
 test-xfail-tst-prelink = yes
@@ -393,6 +377,20 @@ test-xfail-tst-arc4random-fork = yes
 test-xfail-tst-arc4random-thread = yes
 test-xfail-tst-nss-gai-actions = yes
 
+# upstreamed in 2.38
+tests-unsupported += tst-malloc-thread-fail
+tests-unsupported += tst-malloc-thread-fail-malloc-check
+tests-unsupported += tst-malloc-thread-fail-mcheck
+tests-unsupported += tst-malloc-thread-fail-malloc-hugetlb1
+tests-unsupported += tst-malloc-thread-fail-malloc-hugetlb2
+tests-unsupported += tst-dynarray-fail
+tests-unsupported += tst-pthread_cancel-select-loop
+tests-unsupported += tst-audit14
+tests-unsupported += tst-audit14a
+tests-unsupported += tst-audit15
+tests-unsupported += tst-audit16
+tests-unsupported += tst-audit17
+
 # actually never succeded
 test-xfail-tst-create_format1 = yes
 test-xfail-tst-getcwd-abspath = yes

Reply to: