From b45bb052630767142d649f26693be4267aa5b62c Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Wed, 30 Aug 2017 14:12:45 +0200 Subject: [PATCH] Auto-sync with upstream master Upstream commit: 5f9409b787c5758fc277f8d1baf7478b752b775d - Drop glibc-rh952799.patch, applied upstream (#952799, swbz#22025) - Various locale fixes (swbz#22022, swbz#22038, swbz#21951, swbz#13805, swbz#21971, swbz#21959) - MIPS/o32: Fix internal_syscall5/6/7 (swbz#21956) - AArch64: Fix procfs.h not to expose stdint.h types - iconv_open: Fix heap corruption on gconv_init failure (swbz#22026) - iconv: Mangle __btowc_fct even without __init_fct (swbz#22025) - Fix bits/math-finite.h _MSUF_ expansion namespace (swbz#22028) - Provide a C++ version of iszero that does not use __MATH_TG (swbz#21930) --- SUPPORTED | 1 + glibc-rh952799.patch | 181 ------------------------------------------- glibc.spec | 22 ++++-- sources | 2 +- 4 files changed, 17 insertions(+), 189 deletions(-) delete mode 100644 glibc-rh952799.patch diff --git a/SUPPORTED b/SUPPORTED index ec2ec2d..821f3ca 100644 --- a/SUPPORTED +++ b/SUPPORTED @@ -315,6 +315,7 @@ lzh_TW/UTF-8 \ mag_IN/UTF-8 \ mai_IN/UTF-8 \ mai_NP/UTF-8 \ +mfe_MU/UTF-8 \ mg_MG.UTF-8/UTF-8 \ mg_MG/ISO-8859-15 \ mhr_RU/UTF-8 \ diff --git a/glibc-rh952799.patch b/glibc-rh952799.patch deleted file mode 100644 index 9fe22aa..0000000 --- a/glibc-rh952799.patch +++ /dev/null @@ -1,181 +0,0 @@ -# -# Red Hat BZ: -# https://bugzilla.redhat.com/show_bug.cgi?id=816647 -# -# ChangeLog -# -#2013-04-30 Patsy Franklin -# -# * iconv/gconv_cache.c (find_module): Demangle init_fct before -# checking for NULL. Mangle __btowc_fct if init_fct is non-NULL. -# * iconv/gconv_db.c (free_derivation): Check that __shlib_handle -# is non-NULL before demangling the end_fct. Check for NULL -# end_fct after demangling. -# (__gconv_release_step): Demangle the end_fct before checking -# it for NULL. Remove assert on __shlibc_handle != NULL. -# (gen_steps): Don't check btowc_fct for NULL before mangling. -# Demangle init_fct before checking for NULL. -# (increment_counter): Likewise -# * gconv_dl.c (__gconv_find_shlib): Don't check init_fct or -# end_fct for NULL before mangling. -# * wcsmbs/btowc.c (__btowc): Demangle btowc_fct before checking -# for NULL. -# -diff -Nrup a/iconv/gconv_cache.c b/iconv/gconv_cache.c ---- a/iconv/gconv_cache.c 2012-12-24 22:02:13.000000000 -0500 -+++ b/iconv/gconv_cache.c 2013-04-30 06:43:24.788684270 -0400 -@@ -207,17 +207,16 @@ find_module (const char *directory, cons - result->__data = NULL; - - /* Call the init function. */ -- if (result->__init_fct != NULL) -- { -- __gconv_init_fct init_fct = result->__init_fct; -+ __gconv_init_fct init_fct = result->__init_fct; - #ifdef PTR_DEMANGLE -- PTR_DEMANGLE (init_fct); -+ PTR_DEMANGLE (init_fct); - #endif -+ if (init_fct != NULL) -+ { - status = DL_CALL_FCT (init_fct, (result)); - - #ifdef PTR_MANGLE -- if (result->__btowc_fct != NULL) -- PTR_MANGLE (result->__btowc_fct); -+ PTR_MANGLE (result->__btowc_fct); - #endif - } - } -diff -Nrup a/iconv/gconv_db.c b/iconv/gconv_db.c ---- a/iconv/gconv_db.c 2012-12-24 22:02:13.000000000 -0500 -+++ b/iconv/gconv_db.c 2013-04-30 06:37:16.886521576 -0400 -@@ -179,16 +179,15 @@ free_derivation (void *p) - size_t cnt; - - for (cnt = 0; cnt < deriv->nsteps; ++cnt) -- if (deriv->steps[cnt].__counter > 0 -- && deriv->steps[cnt].__end_fct != NULL) -+ if ((deriv->steps[cnt].__counter > 0) -+ && (deriv->steps[cnt].__shlib_handle != NULL)) - { -- assert (deriv->steps[cnt].__shlib_handle != NULL); -- - __gconv_end_fct end_fct = deriv->steps[cnt].__end_fct; - #ifdef PTR_DEMANGLE - PTR_DEMANGLE (end_fct); - #endif -- DL_CALL_FCT (end_fct, (&deriv->steps[cnt])); -+ if (end_fct != NULL) -+ DL_CALL_FCT (end_fct, (&deriv->steps[cnt])); - } - - /* Free the name strings. */ -@@ -212,16 +211,12 @@ __gconv_release_step (struct __gconv_ste - if (step->__shlib_handle != NULL && --step->__counter == 0) - { - /* Call the destructor. */ -- if (step->__end_fct != NULL) -- { -- assert (step->__shlib_handle != NULL); -- -- __gconv_end_fct end_fct = step->__end_fct; -+ __gconv_end_fct end_fct = step->__end_fct; - #ifdef PTR_DEMANGLE -- PTR_DEMANGLE (end_fct); -+ PTR_DEMANGLE (end_fct); - #endif -- DL_CALL_FCT (end_fct, (step)); -- } -+ if (end_fct != NULL) -+ DL_CALL_FCT (end_fct, (step)); - - #ifndef STATIC_GCONV - /* Release the loaded module. */ -@@ -293,13 +288,11 @@ gen_steps (struct derivation_step *best, - - /* Call the init function. */ - __gconv_init_fct init_fct = result[step_cnt].__init_fct; -- if (init_fct != NULL) -- { -- assert (result[step_cnt].__shlib_handle != NULL); -- - # ifdef PTR_DEMANGLE -- PTR_DEMANGLE (init_fct); -+ PTR_DEMANGLE (init_fct); - # endif -+ if (init_fct != NULL) -+ { - status = DL_CALL_FCT (init_fct, (&result[step_cnt])); - - if (__builtin_expect (status, __GCONV_OK) != __GCONV_OK) -@@ -312,8 +305,7 @@ gen_steps (struct derivation_step *best, - } - - # ifdef PTR_MANGLE -- if (result[step_cnt].__btowc_fct != NULL) -- PTR_MANGLE (result[step_cnt].__btowc_fct); -+ PTR_MANGLE (result[step_cnt].__btowc_fct); - # endif - } - } -@@ -393,16 +385,15 @@ increment_counter (struct __gconv_step * - - /* Call the init function. */ - __gconv_init_fct init_fct = step->__init_fct; -- if (init_fct != NULL) -- { - #ifdef PTR_DEMANGLE -- PTR_DEMANGLE (init_fct); -+ PTR_DEMANGLE (init_fct); - #endif -+ if (init_fct != NULL) -+ { - DL_CALL_FCT (init_fct, (step)); - - #ifdef PTR_MANGLE -- if (step->__btowc_fct != NULL) -- PTR_MANGLE (step->__btowc_fct); -+ PTR_MANGLE (step->__btowc_fct); - #endif - } - } -diff -Nrup a/iconv/gconv_dl.c b/iconv/gconv_dl.c ---- a/iconv/gconv_dl.c 2012-12-24 22:02:13.000000000 -0500 -+++ b/iconv/gconv_dl.c 2013-04-30 06:37:16.889521601 -0400 -@@ -132,10 +132,8 @@ __gconv_find_shlib (const char *name) - - #ifdef PTR_MANGLE - PTR_MANGLE (found->fct); -- if (found->init_fct != NULL) -- PTR_MANGLE (found->init_fct); -- if (found->end_fct != NULL) -- PTR_MANGLE (found->end_fct); -+ PTR_MANGLE (found->init_fct); -+ PTR_MANGLE (found->end_fct); - #endif - - /* We have succeeded in loading the shared object. */ -diff -Nrup a/wcsmbs/btowc.c b/wcsmbs/btowc.c ---- a/wcsmbs/btowc.c 2012-12-24 22:02:13.000000000 -0500 -+++ b/wcsmbs/btowc.c 2013-04-30 06:37:16.891521619 -0400 -@@ -47,15 +47,15 @@ __btowc (c) - /* Get the conversion functions. */ - fcts = get_gconv_fcts (_NL_CURRENT_DATA (LC_CTYPE)); - __gconv_btowc_fct btowc_fct = fcts->towc->__btowc_fct; -+#ifdef PTR_DEMANGLE -+ if (fcts->towc->__shlib_handle != NULL) -+ PTR_DEMANGLE (btowc_fct); -+#endif - - if (__builtin_expect (fcts->towc_nsteps == 1, 1) - && __builtin_expect (btowc_fct != NULL, 1)) - { - /* Use the shortcut function. */ --#ifdef PTR_DEMANGLE -- if (fcts->towc->__shlib_handle != NULL) -- PTR_DEMANGLE (btowc_fct); --#endif - return DL_CALL_FCT (btowc_fct, (fcts->towc, (unsigned char) c)); - } - else diff --git a/glibc.spec b/glibc.spec index 1a87185..7cd147e 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,6 +1,6 @@ -%define glibcsrcdir glibc-2.26-191-g2dba5ce7b8 +%define glibcsrcdir glibc-2.26-213-g5f9409b787 %define glibcversion 2.26.90 -%define glibcrelease 12%{?dist} +%define glibcrelease 13%{?dist} # Pre-release tarballs are pulled in from git using a command that is # effectively: # @@ -192,10 +192,6 @@ Patch0028: glibc-fedora-localedata-rh61908.patch Patch0031: glibc-fedora-__libc_multiple_libcs.patch Patch0033: glibc-fedora-elf-ORIGIN.patch -# Needs to be sent upstream. -# Support mangling and demangling null pointers. -Patch0037: glibc-rh952799.patch - # Allow applications to call pthread_atfork without libpthread.so. Patch0046: glibc-rh1013801.patch @@ -720,7 +716,6 @@ microbenchmark tests on the system. %patch0028 -p1 %patch0031 -p1 %patch0033 -p1 -%patch0037 -p1 %patch0046 -p1 %patch2031 -p1 %patch0047 -p1 @@ -2065,6 +2060,19 @@ fi %endif %changelog +* Wed Aug 30 2017 Florian Weimer - 2.26.90-13 +- Drop glibc-rh952799.patch, applied upstream (#952799, swbz#22025) +- Auto-sync with upstream master, + commit 5f9409b787c5758fc277f8d1baf7478b752b775d: +- Various locale fixes (swbz#22022, swbz#22038, swbz#21951, swbz#13805, + swbz#21971, swbz#21959) +- MIPS/o32: Fix internal_syscall5/6/7 (swbz#21956) +- AArch64: Fix procfs.h not to expose stdint.h types +- iconv_open: Fix heap corruption on gconv_init failure (swbz#22026) +- iconv: Mangle __btowc_fct even without __init_fct (swbz#22025) +- Fix bits/math-finite.h _MSUF_ expansion namespace (swbz#22028) +- Provide a C++ version of iszero that does not use __MATH_TG (swbz#21930) + * Mon Aug 28 2017 Florian Weimer - 2.26.90-12 - Auto-sync with upstream master, commit 2dba5ce7b8115d6a2789bf279892263621088e74. diff --git a/sources b/sources index 0f7eff9..8740e31 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glibc-2.26-191-g2dba5ce7b8.tar.gz) = 08b2403b86bc09d60045078c8bebcd5fc3ff79896491a51642af2e7cff3ebf3e08dd4a7a1b54cbe2980ef728dcb5ab3865480a3dfa01cc6b51cb622124a55d29 +SHA512 (glibc-2.26-213-g5f9409b787.tar.gz) = d1b76d58f9f8896dea792dbfd2afb832ded192349a144ac71b4ce446e03b5a4bc6a4d2877791792ec0355375c80ac40e945d1f08dc9932cfa0f28e29887e5530