forked from rpms/glibc
Auto-sync with upstream branch master
Upstream commit: f01a61e13872109b3b233158ab664364bd1879bc - Drop glibc-rh819430.patch; fixed upstream. - i386: Regenerate ulps - x86: Add CPU-specific diagnostics to ld.so --list-diagnostics - x86: Automate generation of PREFERRED_FEATURE_INDEX_1 bitfield - ld.so: Implement the --list-diagnostics option - powerpc: Update libm-test-ulps - tst: Add test for utimes - tst: Add test for utime - tst: Add test for futimens - nptl: __libc_cleanup_push/__libc_cleanup_pop require -fexceptions - elf: Build __dl_iterate_phdr with unwinding support [BZ #27498] - nptl: Use <unwind-link.h> for accessing the libgcc_s unwinder - Implement _Unwind_Resume in libc on top of <unwind-link.h> - Move sysdeps/gnu/unwind-resume.c to sysdeps/generic/unwind-resume.c - __frame_state_for: Use <unwind-link.h> for unwinder access - sparc: Implement backtrace on top <unwind-link.h> - m68k: Implement backtrace on top of <unwind-link.h> - i386: Implement backtrace on top of <unwind-link.h> - arm: Implement backtrace on top of <unwind-link.h> - backtrace: Implement on top of <unwind-link.h> - Implement <unwind-link.h> for dynamically loading the libgcc_s unwinder - Correct buffer end pointer in IO_wdefault_doallocate (BZ #26874) - aarch64: update ulps. - Add inputs that generate larger error bounds - Reduce the statically linked startup code [BZ #23323] - posix: Falling back to non wide mode in case of encoding error [BZ #14185] - nptl: Move elision implementations into libc - NEWS: Add missing bug closures - added rt to malloc/Depend [BZ #27132] - x86: Use x86/nptl/pthreaddef.h - nptl: Move futex-internal into libc - nptl: Move lowlevellock into libc [BZ #15648] - nptl: Move futex-internal.c into main nptl directory - nptl: Reformat Versions - nptl: Split libpthread-routines into one routine per line - x86: Remove unused variables for raw cache sizes from cacheinfo.h - Use Linux 5.11 in build-many-glibcs.py. - <bits/platform/x86.h>: Correct x86_cpu_TBM - x86_64/clone.S: Upate comments - i386/clone.S: Remove redundant EBX load - aarch64: Remove the unused __read_tp symbol - build-many-glibcs.py: Use make -O for more consistent log output
This commit is contained in:
parent
7ae5ae4a36
commit
9eea788618
@ -1,93 +0,0 @@
|
|||||||
Short description: fnmatch() fails with MBCS.
|
|
||||||
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
|
|
||||||
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;
|
|
||||||
@@ -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));
|
|
||||||
@@ -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);
|
|
||||||
@@ -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));
|
|
||||||
@@ -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);
|
|
||||||
@@ -346,6 +335,10 @@ fnmatch (const char *pattern, const char *string, int flags)
|
|
||||||
free (wpattern_malloc);
|
|
||||||
|
|
||||||
return res;
|
|
||||||
+ free_and_try_singlebyte:
|
|
||||||
+ free(wpattern_malloc);
|
|
||||||
+ try_singlebyte:
|
|
||||||
+ pattern = orig_pattern;
|
|
||||||
}
|
|
||||||
|
|
||||||
return internal_fnmatch (pattern, string, string + strlen (string),
|
|
51
glibc.spec
51
glibc.spec
@ -1,4 +1,4 @@
|
|||||||
%define glibcsrcdir glibc-2.33.9000-73-ge9e7f24543
|
%define glibcsrcdir glibc-2.33.9000-114-gf01a61e138
|
||||||
%define glibcversion 2.33.9000
|
%define glibcversion 2.33.9000
|
||||||
# Pre-release tarballs are pulled in from git using a command that is
|
# Pre-release tarballs are pulled in from git using a command that is
|
||||||
# effectively:
|
# effectively:
|
||||||
@ -96,7 +96,7 @@
|
|||||||
Summary: The GNU libc libraries
|
Summary: The GNU libc libraries
|
||||||
Name: glibc
|
Name: glibc
|
||||||
Version: %{glibcversion}
|
Version: %{glibcversion}
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
|
|
||||||
# In general, GPLv2+ is used by programs, LGPLv2+ is used for
|
# In general, GPLv2+ is used by programs, LGPLv2+ is used for
|
||||||
# libraries.
|
# libraries.
|
||||||
@ -145,7 +145,6 @@ Patch4: glibc-fedora-linux-tcsetattr.patch
|
|||||||
Patch6: glibc-fedora-localedef.patch
|
Patch6: glibc-fedora-localedef.patch
|
||||||
Patch8: glibc-fedora-manual-dircategory.patch
|
Patch8: glibc-fedora-manual-dircategory.patch
|
||||||
Patch9: glibc-rh827510.patch
|
Patch9: glibc-rh827510.patch
|
||||||
Patch12: glibc-rh819430.patch
|
|
||||||
Patch13: glibc-fedora-localedata-rh61908.patch
|
Patch13: glibc-fedora-localedata-rh61908.patch
|
||||||
Patch15: glibc-rh1070416.patch
|
Patch15: glibc-rh1070416.patch
|
||||||
Patch16: glibc-nscd-sysconfig.patch
|
Patch16: glibc-nscd-sysconfig.patch
|
||||||
@ -2290,6 +2289,52 @@ fi
|
|||||||
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
|
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Mar 03 2021 Arjun Shankar <arjun@redhat.com> - 2.33.9000-3
|
||||||
|
- Drop glibc-rh819430.patch; fixed upstream.
|
||||||
|
- Auto-sync with upstream branch master,
|
||||||
|
commit f01a61e13872109b3b233158ab664364bd1879bc:
|
||||||
|
- i386: Regenerate ulps
|
||||||
|
- x86: Add CPU-specific diagnostics to ld.so --list-diagnostics
|
||||||
|
- x86: Automate generation of PREFERRED_FEATURE_INDEX_1 bitfield
|
||||||
|
- ld.so: Implement the --list-diagnostics option
|
||||||
|
- powerpc: Update libm-test-ulps
|
||||||
|
- tst: Add test for utimes
|
||||||
|
- tst: Add test for utime
|
||||||
|
- tst: Add test for futimens
|
||||||
|
- nptl: __libc_cleanup_push/__libc_cleanup_pop require -fexceptions
|
||||||
|
- elf: Build __dl_iterate_phdr with unwinding support [BZ #27498]
|
||||||
|
- nptl: Use <unwind-link.h> for accessing the libgcc_s unwinder
|
||||||
|
- Implement _Unwind_Resume in libc on top of <unwind-link.h>
|
||||||
|
- Move sysdeps/gnu/unwind-resume.c to sysdeps/generic/unwind-resume.c
|
||||||
|
- __frame_state_for: Use <unwind-link.h> for unwinder access
|
||||||
|
- sparc: Implement backtrace on top <unwind-link.h>
|
||||||
|
- m68k: Implement backtrace on top of <unwind-link.h>
|
||||||
|
- i386: Implement backtrace on top of <unwind-link.h>
|
||||||
|
- arm: Implement backtrace on top of <unwind-link.h>
|
||||||
|
- backtrace: Implement on top of <unwind-link.h>
|
||||||
|
- Implement <unwind-link.h> for dynamically loading the libgcc_s unwinder
|
||||||
|
- Correct buffer end pointer in IO_wdefault_doallocate (BZ #26874)
|
||||||
|
- aarch64: update ulps.
|
||||||
|
- Add inputs that generate larger error bounds
|
||||||
|
- Reduce the statically linked startup code [BZ #23323]
|
||||||
|
- posix: Falling back to non wide mode in case of encoding error [BZ #14185]
|
||||||
|
- nptl: Move elision implementations into libc
|
||||||
|
- NEWS: Add missing bug closures
|
||||||
|
- added rt to malloc/Depend [BZ #27132]
|
||||||
|
- x86: Use x86/nptl/pthreaddef.h
|
||||||
|
- nptl: Move futex-internal into libc
|
||||||
|
- nptl: Move lowlevellock into libc [BZ #15648]
|
||||||
|
- nptl: Move futex-internal.c into main nptl directory
|
||||||
|
- nptl: Reformat Versions
|
||||||
|
- nptl: Split libpthread-routines into one routine per line
|
||||||
|
- x86: Remove unused variables for raw cache sizes from cacheinfo.h
|
||||||
|
- Use Linux 5.11 in build-many-glibcs.py.
|
||||||
|
- <bits/platform/x86.h>: Correct x86_cpu_TBM
|
||||||
|
- x86_64/clone.S: Upate comments
|
||||||
|
- i386/clone.S: Remove redundant EBX load
|
||||||
|
- aarch64: Remove the unused __read_tp symbol
|
||||||
|
- build-many-glibcs.py: Use make -O for more consistent log output
|
||||||
|
|
||||||
* Sun Feb 21 2021 Carlos O'Donell <carlos@redhat.com> - 2.33.9000-2
|
* Sun Feb 21 2021 Carlos O'Donell <carlos@redhat.com> - 2.33.9000-2
|
||||||
- Auto-sync with upstream branch master,
|
- Auto-sync with upstream branch master,
|
||||||
commit e9e7f24543e6d1b0a31641f144697e261df6ccd7:
|
commit e9e7f24543e6d1b0a31641f144697e261df6ccd7:
|
||||||
|
4
sources
4
sources
@ -1,3 +1 @@
|
|||||||
SHA512 (glibc-2.32.9000-573-gdf359a25ba.tar.xz) = d5457c1756810308d4ec643c4f1a19a575656b9617db34909848c9ed877d09045bc1bd447189dccce59bcbe905bac56154e7a5896c9ebcb9b89f0a22643f816f
|
SHA512 (glibc-2.33.9000-114-gf01a61e138.tar.xz) = e32129b3255cadfda5c6bca4bf1c6a5d0bfd8e717c476457e011e320afd373ffb96bfc874b4159f4a6954b331151ea8aa45efc4d977f1dff2040394bcc898185
|
||||||
SHA512 (glibc-2.33.9000-48-g228f30ab47.tar.xz) = f98f3c5770ad68282dd045ad2f8c5e747a5b8b8803340baf1967a6a39ccaaa14adcb0c959556056e6c49a1308d987d2b45133986ec9396249667f9a6a29e21be
|
|
||||||
SHA512 (glibc-2.33.9000-73-ge9e7f24543.tar.xz) = 4cee5befd3652dd1a9ad3b1e0dfffef9dcd3dd7a353da775929d58cfb08d9bf3fa098741818572f3edcf62d11c79e91bc42482fd86f00c12bb25d30d452bd964
|
|
||||||
|
Loading…
Reference in New Issue
Block a user