1 |
diff --git a/ChangeLog b/ChangeLog |
diff --git a/ChangeLog b/ChangeLog |
2 |
index cb9124e..d0d2cbd 100644 |
index cb9124e..491d5c7 100644 |
3 |
--- a/ChangeLog |
--- a/ChangeLog |
4 |
+++ b/ChangeLog |
+++ b/ChangeLog |
5 |
@@ -1,3 +1,74 @@ |
@@ -1,3 +1,130 @@ |
6 |
|
+2015-10-09 Carlos O'Donell <carlos@redhat.com> |
7 |
|
+ |
8 |
|
+ [BZ #18589] |
9 |
|
+ * string/bug-strcoll2.c: Adjust copyright, and remove contributed by. |
10 |
|
+ * string/Makefile ($(objpfx)bug-strcoll2.out): Depend on |
11 |
|
+ $(gen-locales). |
12 |
|
+ |
13 |
|
+2015-10-08 Carlos O'Donell <carlos@redhat.com> |
14 |
|
+ |
15 |
|
+ [BZ #18589] |
16 |
|
+ * string/Makefile (tests): Add bug-strcoll2. |
17 |
|
+ (LOCALES): Add cs_CZ.UTF-8. |
18 |
|
+ |
19 |
|
+2015-09-28 Martin Sebor <msebor@redhat.com> |
20 |
|
+ |
21 |
|
+ [BZ #18969] |
22 |
|
+ * string/Makefile (LOCALES): Define. |
23 |
|
+ (gen-locales.mk): Include. |
24 |
|
+ (test-strcasecmp.out, test-strncasecmp.out, tst-strxfrm.out) |
25 |
|
+ (tst-strxfrm2.out): Add deppendency on $(gen-locales). |
26 |
|
+ * string/tst-strxfrm2.c (do_test): Print the name of the locale |
27 |
|
+ on setlocale failure. |
28 |
|
+ |
29 |
|
+2015-10-08 Carlos O'Donell <carlos@redhat.com> |
30 |
|
+ |
31 |
|
+ [BZ #18589] |
32 |
|
+ * string/bug-strcoll2.c: New file. |
33 |
|
+ * locale/categories.def: Revert commit |
34 |
|
+ f13c2a8dff2329c6692a80176262ceaaf8a6f74e. |
35 |
|
+ * locale/langinfo.h: Likewise. |
36 |
|
+ * locale/localeinfo.h: Likewise. |
37 |
|
+ * locale/C-collate.c: Likewise. |
38 |
|
+ * programs/ld-collate.c (collate_output): Likewise. |
39 |
|
+ * string/strcoll_l.c (STRDIFF): Likewise. |
40 |
|
+ (STRCOLL): Likewise. |
41 |
|
+ * wcsmbs/wcscoll_l.c: Likewise. |
42 |
|
+ |
43 |
|
+2015-09-15 Roland McGrath <roland@hack.frob.com> |
44 |
|
+ |
45 |
|
+ * misc/sys/param.h [!MAXHOSTNAMELEN && HOST_NAME_MAX] |
46 |
|
+ (MAXHOSTNAMELEN): Define it to HOST_NAME_MAX. |
47 |
|
+ |
48 |
|
+2015-09-11 Roland McGrath <roland@hack.frob.com> |
49 |
|
+ |
50 |
|
+ * sysdeps/nacl/Makefile [$(subdir) = misc] (sysdep_headers): |
51 |
|
+ Use 'override' keyword to freeze the value here, preventing |
52 |
|
+ the addition of sys/mtio.h by sysdeps/gnu/Makefile. |
53 |
|
+ |
54 |
|
+2015-09-04 Roland McGrath <roland@hack.frob.com> |
55 |
|
+ |
56 |
|
+ [BZ #18921] |
57 |
|
+ * sysdeps/posix/opendir.c (need_isdir_precheck) [O_DIRECTORY]: |
58 |
|
+ Fix inverted sense of test of 'o_directory_works' value. |
59 |
|
+ Reported by Pádraig Brady <P@draigBrady.com>, diagnosed by |
60 |
|
+ Bernhard Voelker <mail@bernhard-voelker.de>. |
61 |
|
+ |
62 |
+2015-08-31 Brett Neumeier <brett@neumeier.us> |
+2015-08-31 Brett Neumeier <brett@neumeier.us> |
63 |
+ |
+ |
64 |
+ [BZ #18870] |
+ [BZ #18870] |
134 |
|
|
135 |
* version.h (RELEASE): Set to "stable". |
* version.h (RELEASE): Set to "stable". |
136 |
diff --git a/NEWS b/NEWS |
diff --git a/NEWS b/NEWS |
137 |
index 4c31de7..ce0255a 100644 |
index 4c31de7..9b10bff 100644 |
138 |
--- a/NEWS |
--- a/NEWS |
139 |
+++ b/NEWS |
+++ b/NEWS |
140 |
@@ -5,6 +5,12 @@ See the end for copying conditions. |
@@ -5,6 +5,12 @@ See the end for copying conditions. |
145 |
+ |
+ |
146 |
+* The following bugs are resolved with this release: |
+* The following bugs are resolved with this release: |
147 |
+ |
+ |
148 |
+ 18778, 18781, 18787, 18796, 18870, 18887. |
+ 18589, 18778, 18781, 18787, 18796, 18870, 18887, 18921, 18969. |
149 |
+ |
+ |
150 |
Version 2.22 |
Version 2.22 |
151 |
|
|
342 |
test_ftello (); |
test_ftello (); |
343 |
|
|
344 |
return 0; |
return 0; |
345 |
|
diff --git a/locale/C-collate.c b/locale/C-collate.c |
346 |
|
index d7f3c55..06dfdfa 100644 |
347 |
|
--- a/locale/C-collate.c |
348 |
|
+++ b/locale/C-collate.c |
349 |
|
@@ -144,8 +144,6 @@ const struct __locale_data _nl_C_LC_COLLATE attribute_hidden = |
350 |
|
/* _NL_COLLATE_COLLSEQWC */ |
351 |
|
{ .string = (const char *) collseqwc }, |
352 |
|
/* _NL_COLLATE_CODESET */ |
353 |
|
- { .string = _nl_C_codeset }, |
354 |
|
- /* _NL_COLLATE_ENCODING_TYPE */ |
355 |
|
- { .word = __cet_8bit } |
356 |
|
+ { .string = _nl_C_codeset } |
357 |
|
} |
358 |
|
}; |
359 |
|
diff --git a/locale/categories.def b/locale/categories.def |
360 |
|
index 045489d..a8dda53 100644 |
361 |
|
--- a/locale/categories.def |
362 |
|
+++ b/locale/categories.def |
363 |
|
@@ -58,7 +58,6 @@ DEFINE_CATEGORY |
364 |
|
DEFINE_ELEMENT (_NL_COLLATE_COLLSEQMB, "collate-collseqmb", std, wstring) |
365 |
|
DEFINE_ELEMENT (_NL_COLLATE_COLLSEQWC, "collate-collseqwc", std, wstring) |
366 |
|
DEFINE_ELEMENT (_NL_COLLATE_CODESET, "collate-codeset", std, string) |
367 |
|
- DEFINE_ELEMENT (_NL_COLLATE_ENCODING_TYPE, "collate-encoding-type", std, word) |
368 |
|
), NO_POSTLOAD) |
369 |
|
|
370 |
|
|
371 |
|
diff --git a/locale/langinfo.h b/locale/langinfo.h |
372 |
|
index ffc5c7f..a565d9d 100644 |
373 |
|
--- a/locale/langinfo.h |
374 |
|
+++ b/locale/langinfo.h |
375 |
|
@@ -255,7 +255,6 @@ enum |
376 |
|
_NL_COLLATE_COLLSEQMB, |
377 |
|
_NL_COLLATE_COLLSEQWC, |
378 |
|
_NL_COLLATE_CODESET, |
379 |
|
- _NL_COLLATE_ENCODING_TYPE, |
380 |
|
_NL_NUM_LC_COLLATE, |
381 |
|
|
382 |
|
/* LC_CTYPE category: character classification. |
383 |
|
diff --git a/locale/localeinfo.h b/locale/localeinfo.h |
384 |
|
index bdab9fe..1d2ee00 100644 |
385 |
|
--- a/locale/localeinfo.h |
386 |
|
+++ b/locale/localeinfo.h |
387 |
|
@@ -110,14 +110,6 @@ enum coll_sort_rule |
388 |
|
sort_mask |
389 |
|
}; |
390 |
|
|
391 |
|
-/* Collation encoding type. */ |
392 |
|
-enum collation_encoding_type |
393 |
|
-{ |
394 |
|
- __cet_other, |
395 |
|
- __cet_8bit, |
396 |
|
- __cet_utf8 |
397 |
|
-}; |
398 |
|
- |
399 |
|
/* We can map the types of the entries into a few categories. */ |
400 |
|
enum value_type |
401 |
|
{ |
402 |
|
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c |
403 |
|
index a39a94f..dc0fe30 100644 |
404 |
|
--- a/locale/programs/ld-collate.c |
405 |
|
+++ b/locale/programs/ld-collate.c |
406 |
|
@@ -32,7 +32,6 @@ |
407 |
|
#include "linereader.h" |
408 |
|
#include "locfile.h" |
409 |
|
#include "elem-hash.h" |
410 |
|
-#include "../localeinfo.h" |
411 |
|
|
412 |
|
/* Uncomment the following line in the production version. */ |
413 |
|
/* #define NDEBUG 1 */ |
414 |
|
@@ -2131,8 +2130,6 @@ collate_output (struct localedef_t *locale, const struct charmap_t *charmap, |
415 |
|
/* The words have to be handled specially. */ |
416 |
|
if (idx == _NL_ITEM_INDEX (_NL_COLLATE_SYMB_HASH_SIZEMB)) |
417 |
|
add_locale_uint32 (&file, 0); |
418 |
|
- else if (idx == _NL_ITEM_INDEX (_NL_COLLATE_ENCODING_TYPE)) |
419 |
|
- add_locale_uint32 (&file, __cet_other); |
420 |
|
else |
421 |
|
add_locale_empty (&file); |
422 |
|
} |
423 |
|
@@ -2496,12 +2493,6 @@ collate_output (struct localedef_t *locale, const struct charmap_t *charmap, |
424 |
|
add_locale_raw_data (&file, collate->mbseqorder, 256); |
425 |
|
add_locale_collseq_table (&file, &collate->wcseqorder); |
426 |
|
add_locale_string (&file, charmap->code_set_name); |
427 |
|
- if (strcmp (charmap->code_set_name, "UTF-8") == 0) |
428 |
|
- add_locale_uint32 (&file, __cet_utf8); |
429 |
|
- else if (charmap->mb_cur_max == 1) |
430 |
|
- add_locale_uint32 (&file, __cet_8bit); |
431 |
|
- else |
432 |
|
- add_locale_uint32 (&file, __cet_other); |
433 |
|
write_locale_data (output_path, LC_COLLATE, "LC_COLLATE", &file); |
434 |
|
|
435 |
|
obstack_free (&weightpool, NULL); |
436 |
diff --git a/misc/Makefile b/misc/Makefile |
diff --git a/misc/Makefile b/misc/Makefile |
437 |
index aecb0da..2f5edf6 100644 |
index aecb0da..2f5edf6 100644 |
438 |
--- a/misc/Makefile |
--- a/misc/Makefile |
482 |
|
|
483 |
This header is provided only for backward compatibility. |
This header is provided only for backward compatibility. |
484 |
It will be removed in the next release of the GNU C Library. |
It will be removed in the next release of the GNU C Library. |
485 |
|
diff --git a/misc/sys/param.h b/misc/sys/param.h |
486 |
|
index 62b7ed2..1908b93 100644 |
487 |
|
--- a/misc/sys/param.h |
488 |
|
+++ b/misc/sys/param.h |
489 |
|
@@ -50,6 +50,9 @@ |
490 |
|
#if !defined NOFILE && defined OPEN_MAX |
491 |
|
# define NOFILE OPEN_MAX |
492 |
|
#endif |
493 |
|
+#if !defined MAXHOSTNAMELEN && defined HOST_NAME_MAX |
494 |
|
+# define MAXHOSTNAMELEN HOST_NAME_MAX |
495 |
|
+#endif |
496 |
|
#ifndef NCARGS |
497 |
|
# ifdef ARG_MAX |
498 |
|
# define NCARGS ARG_MAX |
499 |
diff --git a/misc/tst-mntent-blank-corrupt.c b/misc/tst-mntent-blank-corrupt.c |
diff --git a/misc/tst-mntent-blank-corrupt.c b/misc/tst-mntent-blank-corrupt.c |
500 |
new file mode 100644 |
new file mode 100644 |
501 |
index 0000000..92266a3 |
index 0000000..92266a3 |
677 |
if ($name ne "nss_ldap" && $name ne "db1" |
if ($name ne "nss_ldap" && $name ne "db1" |
678 |
&& !($name =~/^nss1_/) && $name ne "thread_db" |
&& !($name =~/^nss1_/) && $name ne "thread_db" |
679 |
&& $name ne "nss_test1" && $name ne "libgcc_s") { |
&& $name ne "nss_test1" && $name ne "libgcc_s") { |
680 |
|
diff --git a/string/Makefile b/string/Makefile |
681 |
|
index 8424a61..ebe9354 100644 |
682 |
|
--- a/string/Makefile |
683 |
|
+++ b/string/Makefile |
684 |
|
@@ -54,7 +54,7 @@ tests := tester inl-tester noinl-tester testcopy test-ffs \ |
685 |
|
tst-strtok tst-strxfrm bug-strcoll1 tst-strfry \ |
686 |
|
bug-strtok1 $(addprefix test-,$(strop-tests)) \ |
687 |
|
bug-envz1 tst-strxfrm2 tst-endian tst-svc2 \ |
688 |
|
- tst-strtok_r |
689 |
|
+ tst-strtok_r bug-strcoll2 |
690 |
|
|
691 |
|
xtests = tst-strcoll-overflow |
692 |
|
|
693 |
|
@@ -75,4 +75,17 @@ ifeq ($(run-built-tests),yes) |
694 |
|
$(objpfx)tst-svc-cmp.out: tst-svc.expect $(objpfx)tst-svc.out |
695 |
|
cmp $^ > $@; \ |
696 |
|
$(evaluate-test) |
697 |
|
+ |
698 |
|
+LOCALES := de_DE.UTF-8 en_US.ISO-8859-1 en_US.UTF-8 \ |
699 |
|
+ tr_TR.ISO-8859-9 tr_TR.UTF-8 cs_CZ.UTF-8 \ |
700 |
|
+ da_DK.ISO-8859-1 |
701 |
|
+include ../gen-locales.mk |
702 |
|
+ |
703 |
|
+$(objpfx)test-strcasecmp.out: $(gen-locales) |
704 |
|
+$(objpfx)test-strncasecmp.out: $(gen-locales) |
705 |
|
+$(objpfx)tst-strxfrm.out: $(gen-locales) |
706 |
|
+$(objpfx)tst-strxfrm2.out: $(gen-locales) |
707 |
|
+# bug-strcoll2 needs cs_CZ.UTF-8 and da_DK.ISO-8859-1. |
708 |
|
+$(objpfx)bug-strcoll2.out: $(gen-locales) |
709 |
|
+ |
710 |
|
endif |
711 |
|
diff --git a/string/bug-strcoll2.c b/string/bug-strcoll2.c |
712 |
|
new file mode 100644 |
713 |
|
index 0000000..72a9ff2 |
714 |
|
--- /dev/null |
715 |
|
+++ b/string/bug-strcoll2.c |
716 |
|
@@ -0,0 +1,92 @@ |
717 |
|
+/* Bug 18589: sort-test.sh fails at random. |
718 |
|
+ Copyright (C) 2015 Free Software Foundation, Inc. |
719 |
|
+ This file is part of the GNU C Library. |
720 |
|
+ |
721 |
|
+ The GNU C Library is free software; you can redistribute it and/or |
722 |
|
+ modify it under the terms of the GNU Lesser General Public |
723 |
|
+ License as published by the Free Software Foundation; either |
724 |
|
+ version 2.1 of the License, or (at your option) any later version. |
725 |
|
+ |
726 |
|
+ The GNU C Library is distributed in the hope that it will be useful, |
727 |
|
+ but WITHOUT ANY WARRANTY; without even the implied warranty of |
728 |
|
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
729 |
|
+ Lesser General Public License for more details. |
730 |
|
+ |
731 |
|
+ You should have received a copy of the GNU Lesser General Public |
732 |
|
+ License along with the GNU C Library; if not, see |
733 |
|
+ <http://www.gnu.org/licenses/>. */ |
734 |
|
+ |
735 |
|
+#include <stdio.h> |
736 |
|
+#include <string.h> |
737 |
|
+#include <locale.h> |
738 |
|
+ |
739 |
|
+/* An incorrect strcoll optimization resulted in incorrect |
740 |
|
+ results from strcoll for cs_CZ and da_DK. */ |
741 |
|
+ |
742 |
|
+int |
743 |
|
+test_cs_CZ (void) |
744 |
|
+{ |
745 |
|
+ const char t1[] = "config"; |
746 |
|
+ const char t2[] = "choose"; |
747 |
|
+ if (setlocale (LC_ALL, "cs_CZ.UTF-8") == NULL) |
748 |
|
+ { |
749 |
|
+ perror ("setlocale"); |
750 |
|
+ return 1; |
751 |
|
+ } |
752 |
|
+ /* In Czech the digraph ch sorts after c, therefore we expect |
753 |
|
+ config to sort before choose. */ |
754 |
|
+ int a = strcoll (t1, t2); |
755 |
|
+ int b = strcoll (t2, t1); |
756 |
|
+ printf ("strcoll (\"%s\", \"%s\") = %d\n", t1, t2, a); |
757 |
|
+ printf ("strcoll (\"%s\", \"%s\") = %d\n", t2, t1, b); |
758 |
|
+ if (a < 0 && b > 0) |
759 |
|
+ { |
760 |
|
+ puts ("PASS: config < choose"); |
761 |
|
+ return 0; |
762 |
|
+ } |
763 |
|
+ else |
764 |
|
+ { |
765 |
|
+ puts ("FAIL: Wrong sorting in cs_CZ.UTF-8."); |
766 |
|
+ return 1; |
767 |
|
+ } |
768 |
|
+} |
769 |
|
+ |
770 |
|
+int |
771 |
|
+test_da_DK (void) |
772 |
|
+{ |
773 |
|
+ const char t1[] = "AS"; |
774 |
|
+ const char t2[] = "AA"; |
775 |
|
+ if (setlocale (LC_ALL, "da_DK.ISO-8859-1") == NULL) |
776 |
|
+ { |
777 |
|
+ perror ("setlocale"); |
778 |
|
+ return 1; |
779 |
|
+ } |
780 |
|
+ /* AA should be treated as the last letter of the Danish alphabet, |
781 |
|
+ hence sorting after AS. */ |
782 |
|
+ int a = strcoll (t1, t2); |
783 |
|
+ int b = strcoll (t2, t1); |
784 |
|
+ printf ("strcoll (\"%s\", \"%s\") = %d\n", t1, t2, a); |
785 |
|
+ printf ("strcoll (\"%s\", \"%s\") = %d\n", t2, t1, b); |
786 |
|
+ if (a < 0 && b > 0) |
787 |
|
+ { |
788 |
|
+ puts ("PASS: AS < AA"); |
789 |
|
+ return 0; |
790 |
|
+ } |
791 |
|
+ else |
792 |
|
+ { |
793 |
|
+ puts ("FAIL: Wrong sorting in da_DK.ISO-8859-1"); |
794 |
|
+ return 1; |
795 |
|
+ } |
796 |
|
+} |
797 |
|
+ |
798 |
|
+static int |
799 |
|
+do_test (void) |
800 |
|
+{ |
801 |
|
+ int err = 0; |
802 |
|
+ err |= test_cs_CZ (); |
803 |
|
+ err |= test_da_DK (); |
804 |
|
+ return err; |
805 |
|
+} |
806 |
|
+ |
807 |
|
+#define TEST_FUNCTION do_test () |
808 |
|
+#include "../test-skeleton.c" |
809 |
|
diff --git a/string/strcoll_l.c b/string/strcoll_l.c |
810 |
|
index 8f1225f..35bc0e4 100644 |
811 |
|
--- a/string/strcoll_l.c |
812 |
|
+++ b/string/strcoll_l.c |
813 |
|
@@ -29,7 +29,6 @@ |
814 |
|
# define STRING_TYPE char |
815 |
|
# define USTRING_TYPE unsigned char |
816 |
|
# define STRCOLL __strcoll_l |
817 |
|
-# define STRDIFF __strdiff |
818 |
|
# define STRCMP strcmp |
819 |
|
# define WEIGHT_H "../locale/weight.h" |
820 |
|
# define SUFFIX MB |
821 |
|
@@ -42,20 +41,6 @@ |
822 |
|
#include "../locale/localeinfo.h" |
823 |
|
#include WEIGHT_H |
824 |
|
|
825 |
|
-#define MASK_UTF8_7BIT (1 << 7) |
826 |
|
-#define MASK_UTF8_START (3 << 6) |
827 |
|
- |
828 |
|
-size_t |
829 |
|
-STRDIFF (const STRING_TYPE *s, const STRING_TYPE *t) |
830 |
|
-{ |
831 |
|
- size_t n; |
832 |
|
- |
833 |
|
- for (n = 0; *s != '\0' && *s++ == *t++; ++n) |
834 |
|
- continue; |
835 |
|
- |
836 |
|
- return n; |
837 |
|
-} |
838 |
|
- |
839 |
|
/* Track status while looking for sequences in a string. */ |
840 |
|
typedef struct |
841 |
|
{ |
842 |
|
@@ -269,29 +254,9 @@ STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2, __locale_t l) |
843 |
|
const USTRING_TYPE *extra; |
844 |
|
const int32_t *indirect; |
845 |
|
|
846 |
|
- /* In case there is no locale specific sort order (C / POSIX). */ |
847 |
|
if (nrules == 0) |
848 |
|
return STRCMP (s1, s2); |
849 |
|
|
850 |
|
- /* Fast forward to the position of the first difference. Needs to be |
851 |
|
- encoding aware as the byte-by-byte comparison can stop in the middle |
852 |
|
- of a char sequence for multibyte encodings like UTF-8. */ |
853 |
|
- uint_fast32_t encoding = |
854 |
|
- current->values[_NL_ITEM_INDEX (_NL_COLLATE_ENCODING_TYPE)].word; |
855 |
|
- if (encoding != __cet_other) |
856 |
|
- { |
857 |
|
- size_t diff = STRDIFF (s1, s2); |
858 |
|
- if (diff > 0) |
859 |
|
- { |
860 |
|
- if (encoding == __cet_utf8 && (*(s1 + diff) & MASK_UTF8_7BIT) != 0) |
861 |
|
- do |
862 |
|
- diff--; |
863 |
|
- while (diff > 0 && (*(s1 + diff) & MASK_UTF8_START) != MASK_UTF8_START); |
864 |
|
- s1 += diff; |
865 |
|
- s2 += diff; |
866 |
|
- } |
867 |
|
- } |
868 |
|
- |
869 |
|
/* Catch empty strings. */ |
870 |
|
if (__glibc_unlikely (*s1 == '\0') || __glibc_unlikely (*s2 == '\0')) |
871 |
|
return (*s1 != '\0') - (*s2 != '\0'); |
872 |
|
@@ -358,8 +323,7 @@ STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2, __locale_t l) |
873 |
|
byte-level comparison to ensure that we don't waste time |
874 |
|
going through multiple passes for totally equal strings |
875 |
|
before proceeding to subsequent passes. */ |
876 |
|
- if (pass == 0 && encoding == __cet_other && |
877 |
|
- STRCMP (s1, s2) == 0) |
878 |
|
+ if (pass == 0 && STRCMP (s1, s2) == 0) |
879 |
|
return result; |
880 |
|
else |
881 |
|
break; |
882 |
|
diff --git a/string/tst-strxfrm2.c b/string/tst-strxfrm2.c |
883 |
|
index d5a1115..bea5aa2 100644 |
884 |
|
--- a/string/tst-strxfrm2.c |
885 |
|
+++ b/string/tst-strxfrm2.c |
886 |
|
@@ -5,6 +5,8 @@ |
887 |
|
static int |
888 |
|
do_test (void) |
889 |
|
{ |
890 |
|
+ static const char test_locale[] = "de_DE.UTF-8"; |
891 |
|
+ |
892 |
|
int res = 0; |
893 |
|
|
894 |
|
char buf[20]; |
895 |
|
@@ -38,9 +40,9 @@ do_test (void) |
896 |
|
res = 1; |
897 |
|
} |
898 |
|
|
899 |
|
- if (setlocale (LC_ALL, "de_DE.UTF-8") == NULL) |
900 |
|
+ if (setlocale (LC_ALL, test_locale) == NULL) |
901 |
|
{ |
902 |
|
- puts ("setlocale failed"); |
903 |
|
+ printf ("cannot set locale \"%s\"\n", test_locale); |
904 |
|
res = 1; |
905 |
|
} |
906 |
|
else |
907 |
diff --git a/sysdeps/hppa/dl-symaddr.c b/sysdeps/hppa/dl-symaddr.c |
diff --git a/sysdeps/hppa/dl-symaddr.c b/sysdeps/hppa/dl-symaddr.c |
908 |
index b707c19..89d8baf 100644 |
index b707c19..89d8baf 100644 |
909 |
--- a/sysdeps/hppa/dl-symaddr.c |
--- a/sysdeps/hppa/dl-symaddr.c |
913 |
return (void *) value; |
return (void *) value; |
914 |
} |
} |
915 |
+rtld_hidden_def (_dl_symbol_address) |
+rtld_hidden_def (_dl_symbol_address) |
916 |
|
diff --git a/sysdeps/nacl/Makefile b/sysdeps/nacl/Makefile |
917 |
|
index 6749a44..1748886 100644 |
918 |
|
--- a/sysdeps/nacl/Makefile |
919 |
|
+++ b/sysdeps/nacl/Makefile |
920 |
|
@@ -132,4 +132,13 @@ ifeq ($(subdir),misc) |
921 |
|
# sysdeps/.../linux/ directories, but it's still a sysdeps decision to |
922 |
|
# install it. |
923 |
|
sysdep_headers += bits/mman-linux.h |
924 |
|
+ |
925 |
|
+# This defeats sysdeps/gnu/Makefile's addition of sys/mtio.h, which |
926 |
|
+# we do not want. This is a total kludge, but it seems no worse for |
927 |
|
+# now than making the sysdeps/gnu/Makefile code conditional on a |
928 |
|
+# variable we set here. If some sysdeps/.../Makefile that is later |
929 |
|
+# in the list than sysdeps/gnu needed to add to sysdep_headers, this |
930 |
|
+# would break it. But sysdeps/gnu is close to last in the list and |
931 |
|
+# this coming up seems unlikely. |
932 |
|
+override sysdep_headers := $(sysdep_headers) |
933 |
|
endif |
934 |
diff --git a/sysdeps/nacl/start.c b/sysdeps/nacl/start.c |
diff --git a/sysdeps/nacl/start.c b/sysdeps/nacl/start.c |
935 |
index a4b6dd3..8e8bc1a 100644 |
index a4b6dd3..8e8bc1a 100644 |
936 |
--- a/sysdeps/nacl/start.c |
--- a/sysdeps/nacl/start.c |
955 |
nacl_startup_argc (info), |
nacl_startup_argc (info), |
956 |
nacl_startup_argv (info), |
nacl_startup_argv (info), |
957 |
nacl_startup_auxv (info), |
nacl_startup_auxv (info), |
958 |
|
diff --git a/sysdeps/posix/opendir.c b/sysdeps/posix/opendir.c |
959 |
|
index 6509f5c..9edf056 100644 |
960 |
|
--- a/sysdeps/posix/opendir.c |
961 |
|
+++ b/sysdeps/posix/opendir.c |
962 |
|
@@ -105,7 +105,7 @@ need_isdir_precheck (void) |
963 |
|
tryopen_o_directory (); |
964 |
|
|
965 |
|
/* We can skip the expensive `stat' call if O_DIRECTORY works. */ |
966 |
|
- return o_directory_works > 0; |
967 |
|
+ return o_directory_works < 0; |
968 |
|
#endif |
969 |
|
return true; |
970 |
|
} |
971 |
diff --git a/sysdeps/sparc/sparc32/sem_open.c b/sysdeps/sparc/sparc32/sem_open.c |
diff --git a/sysdeps/sparc/sparc32/sem_open.c b/sysdeps/sparc/sparc32/sem_open.c |
972 |
index 16cb9ad..59df2d7 100644 |
index 16cb9ad..59df2d7 100644 |
973 |
--- a/sysdeps/sparc/sparc32/sem_open.c |
--- a/sysdeps/sparc/sparc32/sem_open.c |
1083 |
return SYSCALL_CANCEL (openat, fd, file, oflag, mode); |
return SYSCALL_CANCEL (openat, fd, file, oflag, mode); |
1084 |
} |
} |
1085 |
libc_hidden_def (__OPENAT) |
libc_hidden_def (__OPENAT) |
1086 |
|
diff --git a/wcsmbs/wcscoll_l.c b/wcsmbs/wcscoll_l.c |
1087 |
|
index 6d9384a..87f240d 100644 |
1088 |
|
--- a/wcsmbs/wcscoll_l.c |
1089 |
|
+++ b/wcsmbs/wcscoll_l.c |
1090 |
|
@@ -23,7 +23,6 @@ |
1091 |
|
#define STRING_TYPE wchar_t |
1092 |
|
#define USTRING_TYPE wint_t |
1093 |
|
#define STRCOLL __wcscoll_l |
1094 |
|
-#define STRDIFF __wcsdiff |
1095 |
|
#define STRCMP __wcscmp |
1096 |
|
#define WEIGHT_H "../locale/weightwc.h" |
1097 |
|
#define SUFFIX WC |