r5815 - in glibc-package/branches/eglibc-2.18/debian: . patches patches/any
Author: aurel32
Date: 2013-11-29 18:22:49 +0000 (Fri, 29 Nov 2013)
New Revision: 5815
Added:
glibc-package/branches/eglibc-2.18/debian/patches/any/cvs-strcasecmp-locales.diff
Modified:
glibc-package/branches/eglibc-2.18/debian/changelog
glibc-package/branches/eglibc-2.18/debian/patches/series
Log:
* patches/any/cvs-strcasecmp-locales.diff: new patch from upstream to
fix mismatch between strcasecmp and toupper/tolower in tr_TR.iso88599
locale (Closes: #716775).
Modified: glibc-package/branches/eglibc-2.18/debian/changelog
===================================================================
--- glibc-package/branches/eglibc-2.18/debian/changelog 2013-11-29 17:55:51 UTC (rev 5814)
+++ glibc-package/branches/eglibc-2.18/debian/changelog 2013-11-29 18:22:49 UTC (rev 5815)
@@ -137,6 +137,9 @@
- debhelper.in/glibc-doc.manpages: update manpage locations.
* debian/sysdeps/s390.mk: Enable new IFUNC support.
* debian/rules.d/debhelper.mk: compress locales-all with xz -z7.
+ * patches/any/cvs-strcasecmp-locales.diff: new patch from upstream to
+ fix mismatch between strcasecmp and toupper/tolower in tr_TR.iso88599
+ locale (Closes: #716775).
-- Adam Conrad <adconrad@ubuntu.com> Sat, 09 Nov 2013 12:48:20 +0100
Added: glibc-package/branches/eglibc-2.18/debian/patches/any/cvs-strcasecmp-locales.diff
===================================================================
--- glibc-package/branches/eglibc-2.18/debian/patches/any/cvs-strcasecmp-locales.diff (rev 0)
+++ glibc-package/branches/eglibc-2.18/debian/patches/any/cvs-strcasecmp-locales.diff 2013-11-29 18:22:49 UTC (rev 5815)
@@ -0,0 +1,150 @@
+2013-08-27 Andreas Schwab <schwab@suse.de>
+
+ [BZ #15736]
+ * locale/categories.def (LC_CTYPE): Add "nonascii-case" element.
+ * string/Makefile (test-strcasecmp-ENV, test-strncasecmp-ENV)
+ (test-strcasecmp-ifunc-ENV, test-strncasecmp-ifunc-ENV): Define.
+ * string/test-strcasecmp.c (test_main): Run tests in several
+ locales.
+ * string/test-strncasecmp.c (test_main): Likewise.
+
+diff --git a/locale/categories.def b/locale/categories.def
+index 9a89d2d..8c25378 100644
+--- a/locale/categories.def
++++ b/locale/categories.def
+@@ -133,6 +133,7 @@ DEFINE_CATEGORY
+ DEFINE_ELEMENT (_NL_CTYPE_TRANSLIT_IGNORE_LEN, "ctype-translit-ignore-len", std, word)
+ DEFINE_ELEMENT (_NL_CTYPE_TRANSLIT_IGNORE, "ctype-translit-ignore", std, string)
+ DEFINE_ELEMENT (_NL_CTYPE_MAP_TO_NONASCII, "map-to-nonascii", std, word)
++ DEFINE_ELEMENT (_NL_CTYPE_NONASCII_CASE, "nonascii-case", std, word)
+ ), _nl_postload_ctype)
+
+
+diff --git a/string/Makefile b/string/Makefile
+index 0237edd..aaad743 100644
+--- a/string/Makefile
++++ b/string/Makefile
+@@ -65,6 +65,10 @@ noinl-tester-ENV = LANGUAGE=C
+ tst-strxfrm-ENV = LOCPATH=$(common-objpfx)localedata
+ tst-strxfrm2-ENV = LOCPATH=$(common-objpfx)localedata
+ bug-strcoll1-ENV = LOCPATH=$(common-objpfx)localedata
++test-strcasecmp-ENV = LOCPATH=$(common-objpfx)localedata
++test-strncasecmp-ENV = LOCPATH=$(common-objpfx)localedata
++test-strcasecmp-ifunc-ENV = LOCPATH=$(common-objpfx)localedata
++test-strncasecmp-ifunc-ENV = LOCPATH=$(common-objpfx)localedata
+ CFLAGS-inl-tester.c = -fno-builtin
+ CFLAGS-noinl-tester.c = -fno-builtin
+ CFLAGS-tst-strlen.c = -fno-builtin
+diff --git a/string/test-strcasecmp.c b/string/test-strcasecmp.c
+index f321501..bdfccca 100644
+--- a/string/test-strcasecmp.c
++++ b/string/test-strcasecmp.c
+@@ -17,6 +17,7 @@
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
++#include <locale.h>
+ #include <ctype.h>
+ #define TEST_MAIN
+ #define TEST_NAME "strcasecmp"
+@@ -206,14 +207,18 @@ do_random_tests (void)
+ }
+ }
+
+-int
+-test_main (void)
++static void
++test_locale (const char *locale)
+ {
+ size_t i;
+
+- test_init ();
++ if (setlocale (LC_CTYPE, locale) == NULL)
++ {
++ error (0, 0, "cannot set locale \"%s\"", locale);
++ ret = 1;
++ }
+
+- printf ("%23s", "");
++ printf ("%-23s", locale);
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+@@ -246,6 +251,19 @@ test_main (void)
+ }
+
+ do_random_tests ();
++}
++
++int
++test_main (void)
++{
++ test_init ();
++
++ test_locale ("C");
++ test_locale ("en_US.ISO-8859-1");
++ test_locale ("en_US.UTF-8");
++ test_locale ("tr_TR.ISO-8859-9");
++ test_locale ("tr_TR.UTF-8");
++
+ return ret;
+ }
+
+diff --git a/string/test-strncasecmp.c b/string/test-strncasecmp.c
+index 4eedd3d..00eca4a 100644
+--- a/string/test-strncasecmp.c
++++ b/string/test-strncasecmp.c
+@@ -17,6 +17,7 @@
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
++#include <locale.h>
+ #include <ctype.h>
+ #define TEST_MAIN
+ #define TEST_NAME "strncasecmp"
+@@ -256,17 +257,21 @@ bz14195 (void)
+ check_result (impl, empty_string, "", 5, 0);
+ }
+
+-int
+-test_main (void)
++static void
++test_locale (const char *locale)
+ {
+ size_t i;
+
+- test_init ();
++ if (setlocale (LC_CTYPE, locale) == NULL)
++ {
++ error (0, 0, "cannot set locale \"%s\"", locale);
++ ret = 1;
++ }
+
+ bz12205 ();
+ bz14195 ();
+
+- printf ("%23s", "");
++ printf ("%23s", locale);
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+@@ -329,6 +334,19 @@ test_main (void)
+ }
+
+ do_random_tests ();
++}
++
++int
++test_main (void)
++{
++ test_init ();
++
++ test_locale ("C");
++ test_locale ("en_US.ISO-8859-1");
++ test_locale ("en_US.UTF-8");
++ test_locale ("tr_TR.ISO-8859-9");
++ test_locale ("tr_TR.UTF-8");
++
+ return ret;
+ }
+
Modified: glibc-package/branches/eglibc-2.18/debian/patches/series
===================================================================
--- glibc-package/branches/eglibc-2.18/debian/patches/series 2013-11-29 17:55:51 UTC (rev 5814)
+++ glibc-package/branches/eglibc-2.18/debian/patches/series 2013-11-29 18:22:49 UTC (rev 5815)
@@ -251,3 +251,5 @@
any/unsubmitted-dlopen-static-crash.diff
any/unsubmitted-tst-tlsmod-as-needed.diff
any/unsubmitted-scanf-includes.diff
+any/unsubmitted-dlopen-static-crash.diff
+any/cvs-strcasecmp-locales.diff
Reply to: