package/localedef: bump to version 2.33-46-gedfd11197ecf3629bbb4b66c5814da09a61a7f9f

resync the version with glibc package.

Remove upstream patches.

Rebase remaining patches for glibc 2.33.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Romain Naour 2021-08-21 15:12:56 +02:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent a0238b538f
commit cf0fdbbd2a
6 changed files with 14 additions and 294 deletions

View File

@ -1,155 +0,0 @@
From 44f1469daff3a0bfe67fb5839243f114ace3bad8 Mon Sep 17 00:00:00 2001
From: Joseph Myers <joseph@codesourcery.com>
Date: Mon, 5 Oct 2020 16:46:46 +0000
Subject: [PATCH 3/4] Fix GCC 11 -Warray-parameter warning for __sigsetjmp (bug
26647)
This patch fixes part of bug 26647 (-Werror=array-parameter error
building with GCC 11 because of __sigsetjmp being declared using an
array parameter in one header and a pointer parameter in another).
The fix is to split the struct __jmp_buf_tag definition out to a
separate bits/types/ header so it can be included in pthread.h, so
that pthread.h can declare __sigsetjmp with the type contents visible,
so can use an array (as in setjmp.h) rather than a pointer in the
declaration.
Note that several other build failures with GCC 11 remain. This does
not fix the jmp_buf-related -Wstringop-overflow errors (also discussed
in bug 26647), or -Warray-parameter errors for other functions (bug
26686), or -Warray-bounds errors (bug 26687).
Tested, with older compilers, natively for x86_64 and with
build-many-glibc.py for aarch64-linux-gnu. Tested with
build-many-glibcs.py with GCC mainline for aarch64-linux-gnu that this
gets past the -Warray-parameter issue for __sigsetjmp (with the next
build failure being the other one discussed in bug 26647).
[Upstream: https://github.com/bminor/glibc/commit/19302b27bdacfe87e861ff46fc0fbad60dd6602d.patch]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
include/bits/types/struct___jmp_buf_tag.h | 1 +
setjmp/Makefile | 3 +-
setjmp/bits/types/struct___jmp_buf_tag.h | 37 +++++++++++++++++++++++
setjmp/setjmp.h | 15 +--------
sysdeps/nptl/pthread.h | 5 +--
5 files changed, 44 insertions(+), 17 deletions(-)
create mode 100644 include/bits/types/struct___jmp_buf_tag.h
create mode 100644 setjmp/bits/types/struct___jmp_buf_tag.h
diff --git a/include/bits/types/struct___jmp_buf_tag.h b/include/bits/types/struct___jmp_buf_tag.h
new file mode 100644
index 00000000..e3250150
--- /dev/null
+++ b/include/bits/types/struct___jmp_buf_tag.h
@@ -0,0 +1 @@
+#include <setjmp/bits/types/struct___jmp_buf_tag.h>
diff --git a/setjmp/Makefile b/setjmp/Makefile
index dcac5693..603f61d7 100644
--- a/setjmp/Makefile
+++ b/setjmp/Makefile
@@ -22,7 +22,8 @@ subdir := setjmp
include ../Makeconfig
-headers := setjmp.h bits/setjmp.h bits/setjmp2.h
+headers := setjmp.h bits/setjmp.h bits/setjmp2.h \
+ bits/types/struct___jmp_buf_tag.h
routines := setjmp sigjmp bsd-setjmp bsd-_setjmp \
longjmp __longjmp jmp-unwind
diff --git a/setjmp/bits/types/struct___jmp_buf_tag.h b/setjmp/bits/types/struct___jmp_buf_tag.h
new file mode 100644
index 00000000..9d8634f1
--- /dev/null
+++ b/setjmp/bits/types/struct___jmp_buf_tag.h
@@ -0,0 +1,37 @@
+/* Define struct __jmp_buf_tag.
+ Copyright (C) 1991-2020 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/>. */
+
+#ifndef __jmp_buf_tag_defined
+#define __jmp_buf_tag_defined 1
+
+#include <bits/setjmp.h> /* Get `__jmp_buf'. */
+#include <bits/types/__sigset_t.h>
+
+/* Calling environment, plus possibly a saved signal mask. */
+struct __jmp_buf_tag
+ {
+ /* NOTE: The machine-dependent definitions of `__sigsetjmp'
+ assume that a `jmp_buf' begins with a `__jmp_buf' and that
+ `__mask_was_saved' follows it. Do not move these members
+ or add others before it. */
+ __jmp_buf __jmpbuf; /* Calling environment. */
+ int __mask_was_saved; /* Saved the signal mask? */
+ __sigset_t __saved_mask; /* Saved signal mask. */
+ };
+
+#endif
diff --git a/setjmp/setjmp.h b/setjmp/setjmp.h
index 4e3443c3..c6c59f40 100644
--- a/setjmp/setjmp.h
+++ b/setjmp/setjmp.h
@@ -27,20 +27,7 @@
__BEGIN_DECLS
#include <bits/setjmp.h> /* Get `__jmp_buf'. */
-#include <bits/types/__sigset_t.h>
-
-/* Calling environment, plus possibly a saved signal mask. */
-struct __jmp_buf_tag
- {
- /* NOTE: The machine-dependent definitions of `__sigsetjmp'
- assume that a `jmp_buf' begins with a `__jmp_buf' and that
- `__mask_was_saved' follows it. Do not move these members
- or add others before it. */
- __jmp_buf __jmpbuf; /* Calling environment. */
- int __mask_was_saved; /* Saved the signal mask? */
- __sigset_t __saved_mask; /* Saved signal mask. */
- };
-
+#include <bits/types/struct___jmp_buf_tag.h>
typedef struct __jmp_buf_tag jmp_buf[1];
diff --git a/sysdeps/nptl/pthread.h b/sysdeps/nptl/pthread.h
index 8a403cbf..d4194da7 100644
--- a/sysdeps/nptl/pthread.h
+++ b/sysdeps/nptl/pthread.h
@@ -28,6 +28,7 @@
#include <bits/wordsize.h>
#include <bits/types/struct_timespec.h>
#include <bits/types/__sigset_t.h>
+#include <bits/types/struct___jmp_buf_tag.h>
/* Detach state. */
@@ -730,8 +731,8 @@ extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf)
#endif
/* Function used in the macros. */
-struct __jmp_buf_tag;
-extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) __THROWNL;
+extern int __sigsetjmp (struct __jmp_buf_tag __env[1],
+ int __savemask) __THROWNL;
/* Mutex handling. */
--
2.31.1

View File

@ -1,125 +0,0 @@
From ea50889c35fb73ed9e140d800303aae9148c2888 Mon Sep 17 00:00:00 2001
From: Joseph Myers <joseph@codesourcery.com>
Date: Fri, 30 Oct 2020 22:25:42 +0000
Subject: [PATCH 4/4] Avoid -Wstringop-overflow warning in pthread_cleanup_push
macros
GCC 11 introduces a -Wstringop-overflow warning for calls to functions
with an array argument passed as a pointer to memory not large enough
for that array. This includes the __sigsetjmp calls from
pthread_cleanup_push macros, because those use a structure in
__pthread_unwind_buf_t, which has a common initial subsequence with
jmp_buf but does not include the saved signal mask; this is OK in this
case because the second argument to __sigsetjmp is 0 so the signal
mask is not accessed.
To avoid this warning, use a function alias __sigsetjmp_cancel with
first argument an array of exactly the type used in the calls to the
function, if using GCC 11 or later. With older compilers, continue to
use __sigsetjmp with a cast, to avoid any issues with compilers
predating the returns_twice attribute not applying the same special
handling to __sigsetjmp_cancel as to __sigsetjmp.
Tested with build-many-glibcs.py for arm-linux-gnueabi that this fixes
the testsuite build failures.
[Upstream: https://github.com/bminor/glibc/commit/548f467fa14ffe7d955beeb31b30e2aeae4467e0.patch]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
misc/sys/cdefs.h | 8 ++++++++
sysdeps/nptl/pthread.h | 37 +++++++++++++++++++++++++++----------
2 files changed, 35 insertions(+), 10 deletions(-)
diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h
index 38221d0b..ce877487 100644
--- a/misc/sys/cdefs.h
+++ b/misc/sys/cdefs.h
@@ -556,4 +556,12 @@ _Static_assert (0, "IEEE 128-bits long double requires redirection on this platf
# define __attr_access(x)
#endif
+/* Specify that a function such as setjmp or vfork may return
+ twice. */
+#if __GNUC_PREREQ (4, 1)
+# define __attribute_returns_twice__ __attribute__ ((__returns_twice__))
+#else
+# define __attribute_returns_twice__ /* Ignore. */
+#endif
+
#endif /* sys/cdefs.h */
diff --git a/sysdeps/nptl/pthread.h b/sysdeps/nptl/pthread.h
index d4194da7..3a34d823 100644
--- a/sysdeps/nptl/pthread.h
+++ b/sysdeps/nptl/pthread.h
@@ -512,13 +512,15 @@ extern void pthread_testcancel (void);
/* Cancellation handling with integration into exception handling. */
+struct __cancel_jmp_buf_tag
+{
+ __jmp_buf __cancel_jmp_buf;
+ int __mask_was_saved;
+};
+
typedef struct
{
- struct
- {
- __jmp_buf __cancel_jmp_buf;
- int __mask_was_saved;
- } __cancel_jmp_buf[1];
+ struct __cancel_jmp_buf_tag __cancel_jmp_buf[1];
void *__pad[4];
} __pthread_unwind_buf_t __attribute__ ((__aligned__));
@@ -658,8 +660,8 @@ __pthread_cleanup_routine (struct __pthread_cleanup_frame *__frame)
__pthread_unwind_buf_t __cancel_buf; \
void (*__cancel_routine) (void *) = (routine); \
void *__cancel_arg = (arg); \
- int __not_first_call = __sigsetjmp ((struct __jmp_buf_tag *) (void *) \
- __cancel_buf.__cancel_jmp_buf, 0); \
+ int __not_first_call = __sigsetjmp_cancel (__cancel_buf.__cancel_jmp_buf, \
+ 0); \
if (__glibc_unlikely (__not_first_call)) \
{ \
__cancel_routine (__cancel_arg); \
@@ -693,8 +695,8 @@ extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
__pthread_unwind_buf_t __cancel_buf; \
void (*__cancel_routine) (void *) = (routine); \
void *__cancel_arg = (arg); \
- int __not_first_call = __sigsetjmp ((struct __jmp_buf_tag *) (void *) \
- __cancel_buf.__cancel_jmp_buf, 0); \
+ int __not_first_call = __sigsetjmp_cancel (__cancel_buf.__cancel_jmp_buf, \
+ 0); \
if (__glibc_unlikely (__not_first_call)) \
{ \
__cancel_routine (__cancel_arg); \
@@ -730,9 +732,24 @@ extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf)
;
#endif
-/* Function used in the macros. */
+/* Function used in the macros. Calling __sigsetjmp, with its first
+ argument declared as an array, results in a -Wstringop-overflow
+ warning from GCC 11 because struct pthread_unwind_buf is smaller
+ than jmp_buf. The calls from the macros have __SAVEMASK set to 0,
+ so nothing beyond the common prefix is used and this warning is a
+ false positive. Use an alias with its first argument declared to
+ use the type in the macros if possible to avoid this warning. */
+#if __GNUC_PREREQ (11, 0)
+extern int __REDIRECT_NTHNL (__sigsetjmp_cancel,
+ (struct __cancel_jmp_buf_tag __env[1],
+ int __savemask),
+ __sigsetjmp) __attribute_returns_twice__;
+#else
+# define __sigsetjmp_cancel(env, savemask) \
+ __sigsetjmp ((struct __jmp_buf_tag *) (void *) (env), (savemask))
extern int __sigsetjmp (struct __jmp_buf_tag __env[1],
int __savemask) __THROWNL;
+#endif
/* Mutex handling. */
--
2.31.1

View File

@ -1,4 +1,4 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From 942f45364e7db805f0390c808ef656faa577a419 Mon Sep 17 00:00:00 2001
From: Michael Olbrich <m.olbrich@pengutronix.de>
Date: Mon, 21 May 2018 16:45:02 +0200
Subject: [PATCH] HACK: only build and install localedef
@ -13,10 +13,10 @@ Signed-off-by: Peter Seiderer <ps.report@gmx.net>
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/Rules b/Rules
index 16afa6acaa..6c208db788 100644
index 082625bb71..2603c96734 100644
--- a/Rules
+++ b/Rules
@@ -190,10 +190,16 @@ binaries-shared-notests = $(filter-out $(binaries-pie) $(binaries-static), \
@@ -212,10 +212,16 @@ binaries-shared-notests = $(filter-out $(binaries-pie) $(binaries-static), \
$(binaries-all-notests))
ifneq "$(strip $(binaries-shared-notests))" ""
@ -38,10 +38,10 @@ index 16afa6acaa..6c208db788 100644
ifneq "$(strip $(binaries-shared-tests))" ""
diff --git a/locale/Makefile b/locale/Makefile
index 764e751c36..c28322d71f 100644
index b7c60681fa..de4cf4003f 100644
--- a/locale/Makefile
+++ b/locale/Makefile
@@ -32,15 +32,15 @@ categories = ctype messages monetary numeric time paper name \
@@ -33,15 +33,15 @@ categories = ctype messages monetary numeric time paper name \
address telephone measurement identification collate
aux = $(categories:%=lc-%) $(categories:%=C-%) SYS_libc C_name \
xlocale localename global-locale coll-lookup
@ -61,5 +61,5 @@ index 764e751c36..c28322d71f 100644
libBrokenLocale-routines = broken_cur_max
--
2.21.0
2.31.1

View File

@ -1,4 +1,4 @@
From 313e04bfbd281f9b46fdde097aacb59d501820a3 Mon Sep 17 00:00:00 2001
From ec4ebe89a7636da63ccff349d0f0c9f38ac3e3e1 Mon Sep 17 00:00:00 2001
From: Matt Weber <matthew.weber@rockwellcollins.com>
Date: Thu, 6 Feb 2020 14:36:21 -0600
Subject: [PATCH] relax dependency on GCC to 4.8 and binutils to 2.24
@ -29,10 +29,10 @@ Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/configure b/configure
index 6d26b824..9ac2e5e9 100755
index 1dc3af60b4..e3ee4e9fd7 100755
--- a/configure
+++ b/configure
@@ -4601,7 +4601,7 @@ $as_echo_n "checking version of $AS... " >&6; }
@@ -4587,7 +4587,7 @@ $as_echo_n "checking version of $AS... " >&6; }
ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
@ -41,7 +41,7 @@ index 6d26b824..9ac2e5e9 100755
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
@@ -4731,7 +4731,7 @@ $as_echo_n "checking version of $LD... " >&6; }
@@ -4717,7 +4717,7 @@ $as_echo_n "checking version of $LD... " >&6; }
ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'`
case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
@ -50,7 +50,7 @@ index 6d26b824..9ac2e5e9 100755
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
@@ -5140,7 +5140,7 @@ int
@@ -5126,7 +5126,7 @@ int
main ()
{
@ -60,5 +60,5 @@ index 6d26b824..9ac2e5e9 100755
#endif
;
--
2.18.0
2.31.1

View File

@ -1,5 +1,5 @@
# Locally calculated (fetched from Github)
sha256 f4710e9a435a7b83e1d23dd75434f0d36b898eba9b4249c946c32b467d852fd4 glibc-2.32-37-g760e1d287825fa91d4d5a0cc921340c740d803e2.tar.gz
sha256 3e2004b16ec6b79a19a88ed4736719ef9e419f9d8e7013faced654c0339e23dc glibc-2.33-46-gedfd11197ecf3629bbb4b66c5814da09a61a7f9f.tar.gz
# Hashes for license files
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING

View File

@ -7,7 +7,7 @@
# Use the same VERSION and SITE as target glibc
# As in glibc.mk, generate version string using:
# git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master | cut -d '-' -f 2-
LOCALEDEF_VERSION = 2.32-37-g760e1d287825fa91d4d5a0cc921340c740d803e2
LOCALEDEF_VERSION = 2.33-46-gedfd11197ecf3629bbb4b66c5814da09a61a7f9f
LOCALEDEF_SOURCE = glibc-$(LOCALEDEF_VERSION).tar.gz
LOCALEDEF_SITE = $(call github,bminor,glibc,$(LOCALEDEF_VERSION))
HOST_LOCALEDEF_DL_SUBDIR = glibc