diff --git a/eglibc-mandriva-ENOTTY-fr-translation.patch b/eglibc-mandriva-ENOTTY-fr-translation.patch index ecad619..e92b43f 100644 --- a/eglibc-mandriva-ENOTTY-fr-translation.patch +++ b/eglibc-mandriva-ENOTTY-fr-translation.patch @@ -1,9 +1,9 @@ -diff -up glibc-2.32/po/fr.po.44~ glibc-2.32/po/fr.po ---- glibc-2.32/po/fr.po.44~ 2020-08-08 02:26:17.393947894 +0200 -+++ glibc-2.32/po/fr.po 2020-08-08 02:26:49.631443164 +0200 -@@ -5655,7 +5655,7 @@ msgstr "Trop de fichiers ouverts dans le +diff -up glibc-2.33/po/fr.po.37~ glibc-2.33/po/fr.po +--- glibc-2.33/po/fr.po.37~ 2021-02-02 00:15:42.693990072 +0100 ++++ glibc-2.33/po/fr.po 2021-02-02 00:17:05.609964010 +0100 +@@ -5651,7 +5651,7 @@ msgstr "Trop de fichiers ouverts dans le #. TRANS modes on an ordinary file. - #: sysdeps/gnu/errlist.h:173 + #: sysdeps/gnu/errlist.h:170 msgid "Inappropriate ioctl for device" -msgstr "Ioctl() inappropré pour un périphérique" +msgstr "Ioctl() inapproprié pour un périphérique" diff --git a/glibc-fedora-__libc_multiple_libcs.patch b/glibc-fedora-__libc_multiple_libcs.patch index dc0e950..96a62e4 100644 --- a/glibc-fedora-__libc_multiple_libcs.patch +++ b/glibc-fedora-__libc_multiple_libcs.patch @@ -1,6 +1,6 @@ -diff -up glibc-2.31.20200715/elf/dl-init.c.13~ glibc-2.31.20200715/elf/dl-init.c ---- glibc-2.31.20200715/elf/dl-init.c.13~ 2020-07-15 17:58:07.000000000 +0200 -+++ glibc-2.31.20200715/elf/dl-init.c 2020-07-15 23:52:46.296238095 +0200 +diff -up glibc-2.33/elf/dl-init.c.12~ glibc-2.33/elf/dl-init.c +--- glibc-2.33/elf/dl-init.c.12~ 2021-02-01 18:15:33.000000000 +0100 ++++ glibc-2.33/elf/dl-init.c 2021-02-02 00:10:07.506005790 +0100 @@ -120,8 +120,6 @@ _dl_init (struct link_map *main_map, int while (i-- > 0) call_init (main_map->l_initfini[i], argc, argv, env); @@ -10,10 +10,10 @@ diff -up glibc-2.31.20200715/elf/dl-init.c.13~ glibc-2.31.20200715/elf/dl-init.c _dl_starting_up = 0; -#endif } -diff -up glibc-2.31.20200715/elf/dl-support.c.13~ glibc-2.31.20200715/elf/dl-support.c ---- glibc-2.31.20200715/elf/dl-support.c.13~ 2020-07-15 17:58:07.000000000 +0200 -+++ glibc-2.31.20200715/elf/dl-support.c 2020-07-15 23:52:46.296238095 +0200 -@@ -120,10 +120,8 @@ struct r_scope_elem _dl_initial_searchli +diff -up glibc-2.33/elf/dl-support.c.12~ glibc-2.33/elf/dl-support.c +--- glibc-2.33/elf/dl-support.c.12~ 2021-02-01 18:15:33.000000000 +0100 ++++ glibc-2.33/elf/dl-support.c 2021-02-02 00:10:07.506005790 +0100 +@@ -126,10 +126,8 @@ struct r_scope_elem _dl_initial_searchli .r_nlist = 1, }; @@ -24,18 +24,18 @@ diff -up glibc-2.31.20200715/elf/dl-support.c.13~ glibc-2.31.20200715/elf/dl-sup /* Random data provided by the kernel. */ void *_dl_random; -diff -up glibc-2.31.20200715/elf/rtld.c.13~ glibc-2.31.20200715/elf/rtld.c ---- glibc-2.31.20200715/elf/rtld.c.13~ 2020-07-15 17:58:07.000000000 +0200 -+++ glibc-2.31.20200715/elf/rtld.c 2020-07-15 23:57:44.187875422 +0200 -@@ -316,7 +316,6 @@ audit_list_count (struct audit_list *lis - return naudit; +diff -up glibc-2.33/elf/rtld.c.12~ glibc-2.33/elf/rtld.c +--- glibc-2.33/elf/rtld.c.12~ 2021-02-01 18:15:33.000000000 +0100 ++++ glibc-2.33/elf/rtld.c 2021-02-02 00:11:06.989150813 +0100 +@@ -299,7 +299,6 @@ dl_main_state_init (struct dl_main_state + state->version_info = false; } -#ifndef HAVE_INLINED_SYSCALLS /* Set nonzero during loading and initialization of executable and libraries, cleared before the executable's entry point runs. This must not be initialized to nonzero, because the unused dynamic -@@ -326,7 +325,6 @@ audit_list_count (struct audit_list *lis +@@ -309,7 +308,6 @@ dl_main_state_init (struct dl_main_state never be called. */ int _dl_starting_up = 0; rtld_hidden_def (_dl_starting_up) @@ -43,14 +43,14 @@ diff -up glibc-2.31.20200715/elf/rtld.c.13~ glibc-2.31.20200715/elf/rtld.c /* This is the structure which defines all variables global to ld.so (except those which cannot be added for some reason). */ -@@ -1178,10 +1176,8 @@ dl_main (const ElfW(Phdr) *phdr, +@@ -1159,10 +1157,8 @@ dl_main (const ElfW(Phdr) *phdr, /* Process the environment variable which control the behaviour. */ - process_envvars (&mode, &audit_list); + process_envvars (&state); -#ifndef HAVE_INLINED_SYSCALLS /* Set up a flag which tells we are just starting. */ _dl_starting_up = 1; -#endif + const char *ld_so_name = _dl_argv[0]; if (*user_entry == (ElfW(Addr)) ENTRY_POINT) - { diff --git a/glibc-fedora-nis-rh188246.patch b/glibc-fedora-nis-rh188246.patch deleted file mode 100644 index 9389901..0000000 --- a/glibc-fedora-nis-rh188246.patch +++ /dev/null @@ -1,21 +0,0 @@ -From baba5d9461d4e8a581ac26fe4412ad783ffc73e7 Mon Sep 17 00:00:00 2001 -From: Jakub Jelinek -Date: Mon, 1 May 2006 08:02:53 +0000 -Subject: [PATCH] Enable SETENT_BATCH_READ nis/nss option by default - -* Mon May 1 2006 Jakub Jelinek 2.4.90-4 -- SETENT_BATCH_READ /etc/default/nss option for speeding up - some usages of NIS+ (#188246) - -diff --git a/nis/nss b/nis/nss ---- a/nis/nss -+++ b/nis/nss -@@ -25,7 +25,7 @@ - # memory with every getXXent() call. Otherwise each getXXent() call - # might result into a network communication with the server to get - # the next entry. --#SETENT_BATCH_READ=TRUE -+SETENT_BATCH_READ=TRUE - # - # ADJUNCT_AS_SHADOW - # If set to TRUE, the passwd routines in the NIS NSS module will not diff --git a/glibc-rh819430.patch b/glibc-rh819430.patch index b22e421..6152926 100644 --- a/glibc-rh819430.patch +++ b/glibc-rh819430.patch @@ -1,71 +1,86 @@ -diff -Nrup a/posix/fnmatch.c b/posix/fnmatch.c ---- a/posix/fnmatch.c 2012-01-01 07:16:32.000000000 -0500 -+++ b/posix/fnmatch.c 2012-05-23 14:14:29.099461189 -0400 -@@ -333,6 +333,7 @@ fnmatch (pattern, string, flags) - # if HANDLE_MULTIBYTE - if (__builtin_expect (MB_CUR_MAX, 1) != 1) +Short description: fnmatch() fails with MBCS. +Author(s): Fedora glibc team +Origin: PATCH +Bug-RHEL: #819430, #826149, #826151 +Bug-Upstream: #14185 +Upstream status: not-submitted + +fnmatch() fails when '*' wildcard is applied on the file name +containing multi-byte character(s) + +This needs to be reviewed thoroughly and go upstream with a +new test case. + + +diff --git a/posix/fnmatch.c b/posix/fnmatch.c +index 5896812c966ac7c6..63df3dae0911030f 100644 +--- a/posix/fnmatch.c ++++ b/posix/fnmatch.c +@@ -237,6 +237,7 @@ fnmatch (const char *pattern, const char *string, int flags) + { + if (__glibc_unlikely (MB_CUR_MAX != 1)) { + const char *orig_pattern = pattern; mbstate_t ps; size_t n; const char *p; -@@ -356,10 +357,8 @@ fnmatch (pattern, string, flags) - alloca_used); - n = mbsrtowcs (wpattern, &p, n + 1, &ps); - if (__glibc_unlikely (n == (size_t) -1)) -- /* Something wrong. -- XXX Do we have to set `errno' to something which mbsrtows hasn't -- already done? */ -- return -1; -+ /* Something wrong: Fall back to single byte matching. */ +@@ -256,10 +257,8 @@ fnmatch (const char *pattern, const char *string, int flags) + alloca_used); + n = mbsrtowcs (wpattern, &p, n + 1, &ps); + if (__glibc_unlikely (n == (size_t) -1)) +- /* Something wrong. +- XXX Do we have to set 'errno' to something which mbsrtows hasn't +- already done? */ +- return -1; ++ /* Something wrong: Fall back to single byte matching. */ + goto try_singlebyte; - if (p) - { - memset (&ps, '\0', sizeof (ps)); -@@ -371,10 +370,8 @@ fnmatch (pattern, string, flags) - prepare_wpattern: - n = mbsrtowcs (NULL, &pattern, 0, &ps); - if (__glibc_unlikely (n == (size_t) -1)) -- /* Something wrong. -- XXX Do we have to set `errno' to something which mbsrtows hasn't -- already done? */ -- return -1; -+ /*Something wrong: Fall back to single byte matching. */ + if (p) + { + memset (&ps, '\0', sizeof (ps)); +@@ -271,10 +270,8 @@ fnmatch (const char *pattern, const char *string, int flags) + prepare_wpattern: + n = mbsrtowcs (NULL, &pattern, 0, &ps); + if (__glibc_unlikely (n == (size_t) -1)) +- /* Something wrong. +- XXX Do we have to set 'errno' to something which mbsrtows hasn't +- already done? */ +- return -1; ++ /* Something wrong: Fall back to single byte matching. */ + goto try_singlebyte; - if (__glibc_unlikely (n >= (size_t) -1 / sizeof (wchar_t))) - { - __set_errno (ENOMEM); -@@ -401,14 +398,8 @@ fnmatch (pattern, string, flags) - alloca_used); - n = mbsrtowcs (wstring, &p, n + 1, &ps); - if (__glibc_unlikely (n == (size_t) -1)) -- { -- /* Something wrong. -- XXX Do we have to set `errno' to something which -- mbsrtows hasn't already done? */ -- free_return: -- free (wpattern_malloc); -- return -1; -- } -+ /* Something wrong: Fall back to single byte matching. */ + if (__glibc_unlikely (n >= (size_t) -1 / sizeof (wchar_t))) + { + __set_errno (ENOMEM); +@@ -297,14 +294,8 @@ fnmatch (const char *pattern, const char *string, int flags) + alloca_used); + n = mbsrtowcs (wstring, &p, n + 1, &ps); + if (__glibc_unlikely (n == (size_t) -1)) +- { +- /* Something wrong. +- XXX Do we have to set 'errno' to something which +- mbsrtows hasn't already done? */ +- free_return: +- free (wpattern_malloc); +- return -1; +- } ++ /* Something wrong: Fall back to single byte matching. */ + goto free_and_try_singlebyte; - if (p) - { - memset (&ps, '\0', sizeof (ps)); -@@ -420,10 +411,8 @@ fnmatch (pattern, string, flags) - prepare_wstring: - n = mbsrtowcs (NULL, &string, 0, &ps); - if (__glibc_unlikely (n == (size_t) -1)) -- /* Something wrong. -- XXX Do we have to set `errno' to something which mbsrtows hasn't -- already done? */ -- goto free_return; + if (p) + { + memset (&ps, '\0', sizeof (ps)); +@@ -316,10 +307,8 @@ fnmatch (const char *pattern, const char *string, int flags) + prepare_wstring: + n = mbsrtowcs (NULL, &string, 0, &ps); + if (__glibc_unlikely (n == (size_t) -1)) +- /* Something wrong. +- XXX Do we have to set 'errno' to something which mbsrtows hasn't +- already done? */ +- goto free_return; + /* Something wrong: Fall back to singlebyte matching. */ + goto free_and_try_singlebyte; - if (__glibc_unlikely (n >= (size_t) -1 / sizeof (wchar_t))) - { - free (wpattern_malloc); -@@ -450,6 +439,10 @@ fnmatch (pattern, string, flags) + if (__glibc_unlikely (n >= (size_t) -1 / sizeof (wchar_t))) + { + free (wpattern_malloc); +@@ -346,6 +335,10 @@ fnmatch (const char *pattern, const char *string, int flags) free (wpattern_malloc); return res; @@ -74,5 +89,5 @@ diff -Nrup a/posix/fnmatch.c b/posix/fnmatch.c + try_singlebyte: + pattern = orig_pattern; } - # endif /* mbstate_t and mbsrtowcs or _LIBC. */ + return internal_fnmatch (pattern, string, string + strlen (string), diff --git a/glibc.spec b/glibc.spec index caca70a..db0af1a 100644 --- a/glibc.spec +++ b/glibc.spec @@ -19,12 +19,9 @@ %define _libdir32 %{_prefix}/lib %define _libdirn32 %{_prefix}/lib32 -%define ver 2.33 -%define fullver 2.33 - %define oname glibc %define major 6 -%define source_dir %{oname}-%{ver} +%define source_dir %{oname}-%{version} %define checklist %{_builddir}/%{source_dir}/Check.list %define libc %mklibname c %{major} %define devname %mklibname -d c @@ -93,10 +90,10 @@ Summary: The GNU libc libraries Name: %{cross_prefix}%{oname} Epoch: 6 -Version: %{ver} -Source0: http://ftp.gnu.org/gnu/glibc/%{oname}-%{ver}.tar.xz +Version: 2.33 +Source0: http://ftp.gnu.org/gnu/glibc/%{oname}-%{version}.tar.xz #if %(test $(echo %{version}.0 |cut -d. -f3) -lt 90 && echo 1 || echo 0) -#Source1: http://ftp.gnu.org/gnu/glibc/%{oname}-%{ver}.tar.xz.sig +#Source1: http://ftp.gnu.org/gnu/glibc/%{oname}-%{version}.tar.xz.sig #endif Release: 1 License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ @@ -127,7 +124,6 @@ Patch27: http://pkgs.fedoraproject.org/cgit/rpms/glibc.git/plain/glibc-fedora-lo Patch30: http://pkgs.fedoraproject.org/cgit/rpms/glibc.git/plain/glibc-fedora-localedef.patch Patch31: http://pkgs.fedoraproject.org/cgit/rpms/glibc.git/plain/glibc-fedora-locarchive.patch Patch32: http://pkgs.fedoraproject.org/cgit/rpms/glibc.git/plain/glibc-fedora-manual-dircategory.patch -Patch33: http://pkgs.fedoraproject.org/cgit/rpms/glibc.git/plain/glibc-fedora-nis-rh188246.patch Patch35: http://pkgs.fedoraproject.org/cgit/rpms/glibc.git/plain/glibc-fedora-ppc-unwind.patch Patch36: http://pkgs.fedoraproject.org/cgit/rpms/glibc.git/plain/glibc-aarch64-tls-fixes.patch Patch38: http://pkgs.fedoraproject.org/cgit/rpms/glibc.git/plain/glibc-arm-hardfloat-3.patch @@ -172,7 +168,6 @@ Patch101: https://raw.githubusercontent.com/clearlinux-pkgs/glibc/master/nostack #----------------------------------------------------------------------- # OpenMandriva patches Patch1000: eglibc-mandriva-localedef-archive-follow-symlinks.patch -Patch1002: eglibc-mandriva-nss-upgrade.patch Patch1003: eglibc-mandriva-share-locale.patch Patch1004: eglibc-mandriva-nsswitch.conf.patch Patch1005: eglibc-mandriva-xterm-xvt.patch @@ -1750,7 +1745,7 @@ ln -s %{_slibdir}/ld-linux-riscv64-lp64d.so.1 %{buildroot}/lib/ld-linux-riscv64- # This will make the '-g' argument to be passed to eu-strip for these libraries, so that # some info is kept that's required to make valgrind work without depending on glibc-debug # package to be installed. -export EXCLUDE_FROM_FULL_STRIP="ld-%{fullver}.so libpthread libc-%{fullver}.so libm-%{fullver}.so" +export EXCLUDE_FROM_FULL_STRIP="ld-%{version}.so libpthread libc-%{version}.so libm-%{version}.so" unset LD_LIBRARY_PATH