about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove _Mlong_double_ etc. macros.Joseph Myers2017-10-306-54/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | math.h has a macro _Mlong_double_ for the type to use when declaring long double functions, and similar macros for other types. math/Makefile uses -D_Mlong_double_=double in the case of long double having the same ABI as double. This originates with: Mon Jul 8 13:37:40 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * math/math.h (_Mfloat_, _Mlong_double_): New macros, defined iff not already defined to float, long double. Use those macros for _Mdouble_ defns when including mathcalls.h. * math/Makefile [$(long-double-fcts) != yes] (CPPFLAGS): Append -D_Mlong_double_=double. However, math.h stopped declaring long double functions in the case of long double having the same ABI as double (and thus probably stopped actually needing the Makefile definition of _Mlong_double_) with: 1998-11-05 Ulrich Drepper <drepper@cygnus.com> * math/math.h: Unconditionally include bits/mathdef.h. Declare long double functions only if __NO_LONG_DOUBLE_MATH is not defined. * sysdeps/generic/bits/mathdef.h: Define only if __USE_ISOC9X. Define __NO_LONG_DOUBLE_MATH. * sysdeps/m68k/fpu/bits/mathdef.h: Define only if __USE_ISOC9X. * sysdeps/i386/fpu/bits/mathdef.h: Likewise. The declarations were since restored for compiling user code, but remain absent when _LIBC is defined, which is sufficient to avoid problems declaring function aliases of incompatible types. Thus the indirection through the _Mlong_double_ macro is not needed (probably since that 1998 patch), and this patch removes _Mlong_double_ and associated macros for other types, leaving only the macro _Mdouble_ which is actually used as the type for which a given inclusion of <bits/mathcalls.h> should declared functions. Tested for x86_64, and tested with build-many-glibcs.py that installed stripped shared libraries are unchanged by this patch. * math/math.h [!_Mfloat_] (_Mfloat_): Do not define. [!_Mlong_double_] (_Mlong_double_): Likewise. [!_Mfloat16_] (_Mfloat16_): Likewise. [!_Mfloat32_] (_Mfloat32_): Likewise. [!_Mfloat64_] (_Mfloat64_): Likewise. [!_Mfloat128_] (_Mfloat128_): Likewise. [!_Mfloat32x_] (_Mfloat32x_): Likewise. [!_Mfloat64x_] (_Mfloat64x_): Likewise. [!_Mfloat128x_] (_Mfloat128x_): Likewise. (_Mdouble_): Define without indirection through those macros. * math/complex.h [!_Mfloat_] (_Mfloat_): Do not define. [!_Mfloat128_] (_Mfloat128_): Likewise. [_Mlong_double_] (_Mlong_double_): Likewise. (_Mdouble_): Define without indirection through those macros. * math/Makefile [$(long-double-fcts) != yes] (math-CPPFLAGS): Do not add -D_Mlong_double_=double. * include/math.h [_ISOMAC] (_Mlong_double_): Do not undefine. * math/test-signgam-finite-c99.c (_Mlong_double_): Likewise.
* sysdeps/x86/libc-start.c: Add /* !SHARED */H.J. Lu2017-10-302-1/+5
| | | | * sysdeps/x86/libc-start.c: Add /* !SHARED */.
* Reformat sysdeps/x86/libc-start.cH.J. Lu2017-10-302-3/+7
| | | | * sysdeps/x86/libc-start.c: Reformat.
* i586: Use conditional branches in strcpy.S [BZ #22353]H.J. Lu2017-10-302-17/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | i586 strcpy.S used a clever trick with LEA to implement jump table: /* ECX has the last 2 bits of the address of source - 1. */ andl $3, %ecx call 2f 2: popl %edx /* 0xb is the distance between 2: and 1:. */ leal 0xb(%edx,%ecx,8), %ecx jmp *%ecx .align 8 1: /* ECX == 0 */ orb (%esi), %al jz L(end) stosb xorl %eax, %eax incl %esi /* ECX == 1 */ orb (%esi), %al jz L(end) stosb xorl %eax, %eax incl %esi /* ECX == 2 */ orb (%esi), %al jz L(end) stosb xorl %eax, %eax incl %esi /* ECX == 3 */ L(1): movl (%esi), %ecx leal 4(%esi),%esi This fails if there are instruction length changes before L(1):. This patch replaces it with conditional branches: cmpb $2, %cl je L(Src2) ja L(Src3) cmpb $1, %cl je L(Src1) L(Src0): which have similar performance and work with any instruction lengths. Tested on i586 and i686 with and without --disable-multi-arch. [BZ #22353] * sysdeps/i386/i586/strcpy.S (STRCPY): Use conditional branches. (1): Renamed to ... (L(Src0)): This. (L(Src1)): New. (L(Src2)): Likewise. (L(1)): Renamed to ... (L(Src3)): This.
* Add _FloatN, _FloatNx M_* constants.Joseph Myers2017-10-302-0/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Continuing the preparation for additional _FloatN / _FloatNx type support, this patch adds M_* constants for such types. The decimal expansions used are all the same as used for _Float128; there's no need to reduce the precision used. In the case of _Float128x, #error is used because the constants would need additional precision, but how much is needed would depend on the actual _Float128x format used, so it's not possible to add header support simply as part of code that handles all _FloatN / _FloatNx types similarly. Tested for x86_64. * math/math.h [__HAVE_FLOAT16 && __USE_GNU] (M_Ef16): New macro. [__HAVE_FLOAT16 && __USE_GNU] (M_LOG2Ef16): Likewise. [__HAVE_FLOAT16 && __USE_GNU] (M_LOG10Ef16): Likewise. [__HAVE_FLOAT16 && __USE_GNU] (M_LN2f16): Likewise. [__HAVE_FLOAT16 && __USE_GNU] (M_LN10f16): Likewise. [__HAVE_FLOAT16 && __USE_GNU] (M_PIf16): Likewise. [__HAVE_FLOAT16 && __USE_GNU] (M_PI_2f16): Likewise. [__HAVE_FLOAT16 && __USE_GNU] (M_PI_4f16): Likewise. [__HAVE_FLOAT16 && __USE_GNU] (M_1_PIf16): Likewise. [__HAVE_FLOAT16 && __USE_GNU] (M_2_PIf16): Likewise. [__HAVE_FLOAT16 && __USE_GNU] (M_2_SQRTPIf16): Likewise. [__HAVE_FLOAT16 && __USE_GNU] (M_SQRT2f16): Likewise. [__HAVE_FLOAT16 && __USE_GNU] (M_SQRT1_2f16): Likewise. [__HAVE_FLOAT32 && __USE_GNU] (M_Ef32): Likewise. [__HAVE_FLOAT32 && __USE_GNU] (M_LOG2Ef32): Likewise. [__HAVE_FLOAT32 && __USE_GNU] (M_LOG10Ef32): Likewise. [__HAVE_FLOAT32 && __USE_GNU] (M_LN2f32): Likewise. [__HAVE_FLOAT32 && __USE_GNU] (M_LN10f32): Likewise. [__HAVE_FLOAT32 && __USE_GNU] (M_PIf32): Likewise. [__HAVE_FLOAT32 && __USE_GNU] (M_PI_2f32): Likewise. [__HAVE_FLOAT32 && __USE_GNU] (M_PI_4f32): Likewise. [__HAVE_FLOAT32 && __USE_GNU] (M_1_PIf32): Likewise. [__HAVE_FLOAT32 && __USE_GNU] (M_2_PIf32): Likewise. [__HAVE_FLOAT32 && __USE_GNU] (M_2_SQRTPIf32): Likewise. [__HAVE_FLOAT32 && __USE_GNU] (M_SQRT2f32): Likewise. [__HAVE_FLOAT32 && __USE_GNU] (M_SQRT1_2f32): Likewise. [__HAVE_FLOAT64 && __USE_GNU] (M_Ef64): Likewise. [__HAVE_FLOAT64 && __USE_GNU] (M_LOG2Ef64): Likewise. [__HAVE_FLOAT64 && __USE_GNU] (M_LOG10Ef64): Likewise. [__HAVE_FLOAT64 && __USE_GNU] (M_LN2f64): Likewise. [__HAVE_FLOAT64 && __USE_GNU] (M_LN10f64): Likewise. [__HAVE_FLOAT64 && __USE_GNU] (M_PIf64): Likewise. [__HAVE_FLOAT64 && __USE_GNU] (M_PI_2f64): Likewise. [__HAVE_FLOAT64 && __USE_GNU] (M_PI_4f64): Likewise. [__HAVE_FLOAT64 && __USE_GNU] (M_1_PIf64): Likewise. [__HAVE_FLOAT64 && __USE_GNU] (M_2_PIf64): Likewise. [__HAVE_FLOAT64 && __USE_GNU] (M_2_SQRTPIf64): Likewise. [__HAVE_FLOAT64 && __USE_GNU] (M_SQRT2f64): Likewise. [__HAVE_FLOAT64 && __USE_GNU] (M_SQRT1_2f64): Likewise. [__HAVE_FLOAT32X && __USE_GNU] (M_Ef32x): Likewise. [__HAVE_FLOAT32X && __USE_GNU] (M_LOG2Ef32x): Likewise. [__HAVE_FLOAT32X && __USE_GNU] (M_LOG10Ef32x): Likewise. [__HAVE_FLOAT32X && __USE_GNU] (M_LN2f32x): Likewise. [__HAVE_FLOAT32X && __USE_GNU] (M_LN10f32x): Likewise. [__HAVE_FLOAT32X && __USE_GNU] (M_PIf32x): Likewise. [__HAVE_FLOAT32X && __USE_GNU] (M_PI_2f32x): Likewise. [__HAVE_FLOAT32X && __USE_GNU] (M_PI_4f32x): Likewise. [__HAVE_FLOAT32X && __USE_GNU] (M_1_PIf32x): Likewise. [__HAVE_FLOAT32X && __USE_GNU] (M_2_PIf32x): Likewise. [__HAVE_FLOAT32X && __USE_GNU] (M_2_SQRTPIf32x): Likewise. [__HAVE_FLOAT32X && __USE_GNU] (M_SQRT2f32x): Likewise. [__HAVE_FLOAT32X && __USE_GNU] (M_SQRT1_2f32x): Likewise. [__HAVE_FLOAT64X && __USE_GNU] (M_Ef64x): Likewise. [__HAVE_FLOAT64X && __USE_GNU] (M_LOG2Ef64x): Likewise. [__HAVE_FLOAT64X && __USE_GNU] (M_LOG10Ef64x): Likewise. [__HAVE_FLOAT64X && __USE_GNU] (M_LN2f64x): Likewise. [__HAVE_FLOAT64X && __USE_GNU] (M_LN10f64x): Likewise. [__HAVE_FLOAT64X && __USE_GNU] (M_PIf64x): Likewise. [__HAVE_FLOAT64X && __USE_GNU] (M_PI_2f64x): Likewise. [__HAVE_FLOAT64X && __USE_GNU] (M_PI_4f64x): Likewise. [__HAVE_FLOAT64X && __USE_GNU] (M_1_PIf64x): Likewise. [__HAVE_FLOAT64X && __USE_GNU] (M_2_PIf64x): Likewise. [__HAVE_FLOAT64X && __USE_GNU] (M_2_SQRTPIf64x): Likewise. [__HAVE_FLOAT64X && __USE_GNU] (M_SQRT2f64x): Likewise. [__HAVE_FLOAT64X && __USE_GNU] (M_SQRT1_2f64x): Likewise. [__HAVE_FLOAT128X && __USE_GNU]: Use #error.
* Assume that _DIRENT_HAVE_D_TYPE is always defined.Florian Weimer2017-10-3012-60/+17
| | | | | | References remain in io/fts.c, io/ftw.c, posix/glob.c, sysdeps/posix/getcwd.c. These files are (potentially) externally shared.
* ffsl, ffsll: Declare under __USE_MISC, not just __USE_GNUFlorian Weimer2017-10-302-1/+6
| | | | Recent BSDs declare these functions, too.
* tst-gnuglob64: New test for glob64 based on tst-gnuglobFlorian Weimer2017-10-305-486/+564
| | | | Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* csb_PL locale: Fix “abmon” for March and use a better translation for ↵Mike FABIAN2017-10-302-19/+20
| | | | | | | | | | March in “mon” [BZ #19485] [BZ #19485] * localedata/locales/csb_PL (LC_TIME): Fix “abmon” for March and use a better translation for March in “mon”. * localedata/locales/csb_PL: Use more ASCII to improve the readability of the source.
* km_KH locale: remove tags which were using Lao characters [BZ #13953]Mike FABIAN2017-10-302-57/+40
| | | | | | | | | | | | | | | | | | | [BZ #13953] * localedata/locales/km_KH: Use ASCII as much as possible for better readability of the source and remove useless comments. * localedata/locales/km_KH (LC_TIME): Remove era stuff, it was commented out and apparently wrong anyway because it was using Lao characters. If Buddhist era should be used for km_KH, a native speaker should write the correct formaat for Khmer. * localedata/locales/km_KH (LC_TIME): Add first_weekday 1 (According to CLDR, the first weekday for Cambodia is Sunday). * localedata/locales/km_KH (LC_NAME): Remove name_mr and name_mrs (These were using Lao characters which must be wrong. If we get the correct data from a native speaker, we could add it back, until then it is better not to have name_mr and name_mrs at all than having it wrong).
* Correct the size of _nl_value_type_LC_... arrays.Rafal Luzynski2017-10-282-1/+10
| | | | | | | | | | | | | | | | | There were several problems with checking the array size in the past, for example BZ#356, caused by incorrectly assuming that every locale token represents one element. In fact, if a token represented a subarray, for example an array of month names or characters category and it appeared at the end of the array the compiler assumed that the array ends just after the first element of the subarray. A workaround used in the past was to skip some categories while testing, for example LC_CTYPE. Now when we are about to add alternative month names to LC_TIME (BZ#10871) this will fail again. * locale/loadlocale.c: Correct size of _nl_value_type_LC_<category> arrays. Reviewed-by: Zack Weinberg <zackw@panix.com>
* Include bits/mathcalls.h for more _FloatN, _FloatNx types.Joseph Myers2017-10-272-3/+134
| | | | | | | | | | | | | | | | | | | Continuing the preparation for additional _FloatN / _FloatNx type support, this patch arranges for <bits/mathcalls.h> and <bits/mathcalls-helper-functions.h> to be included for each such type under conditions and with macros defined corresponding to those already present for _Float128. Tested for x86_64. * math/math.h [__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !_LIBC)]: Include <bits/mathcalls-helper-functions.h> and <bits/mathcalls.h> with appropriate macros defined and undefined. [__HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !_LIBC)]: Likewise. [__HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !_LIBC)]: Likewise. [__HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !_LIBC)]: Likewise. [__HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !_LIBC)]: Likewise. [__HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !_LIBC)]: Likewise.
* i386: Regenerate libm-test-ulps for for gcc 7H.J. Lu2017-10-272-6/+11
| | | | | | | Regenerate libm-test-ulps for gcc 7 with "-m32 -O2 -march=i586". * sysdeps/i386/fpu/libm-test-ulps: Regenerated for GCC 7 with "-O2 -march=i586".
* tt_RU locale: make yesstr and nostr agree with CLDR by starting with lower ↵Mike FABIAN2017-10-272-2/+7
| | | | | | | case letters * localedata/locales/tt_RU (LC_MESSAGES): Start yesstr and nostr with lowercase letters to make it agree with CLDR.
* Fix all remaining issues of [BZ #15260]Mike FABIAN2017-10-278-13/+31
| | | | | | | | | | | | | | | | | | [BZ #15260] * localedata/locales/doi_IN (LC_MESSAGES): Match only for the first letters of yesstr and nostr in yesexpr and noexpr, not for the full words. * localedata/locales/hne_IN (LC_MESSAGES): Likewise. * localedata/locales/kok_IN (LC_MESSAGES): Likewise. * localedata/locales/mr_IN (LC_MESSAGES): Likewise. * localedata/locales/sat_IN (LC_MESSAGES): Likewise. * localedata/locales/km_KH (LC_MESSAGES): Match also for the first letters of yesstr and nostr in yesexpr and noexpr, until now only English was matched in yesexpr and noexpr. * localedata/locales/tl_PH (LC_MESSAGES): Use “copy "fil_PH"” instead of “copy "en_US"”. CLDR has yesstr and nostr data for fil but not for tl. As tl and fil are very similar, using fil is probably better than using English.
* br_FR locale: Use all lowercase in yesstr and nostr.Mike FABIAN2017-10-272-2/+8
| | | | | | [BZ #21706] * localedata/locales/br_FR (LC_MESSAGES): Use all lowercase in yesstr and nostr.
* Add SNAN macros for more _FloatN, _FloatNx types.Joseph Myers2017-10-262-0/+31
| | | | | | | | | | | | | | | | | | | | | This patch continues the preparation for additional _FloatN / _FloatNx type support by adding appropriately conditional definitions of SNAN* macros, corresponding to the SNANF128 definition already present. Tested for x86_64. * math/math.h [__HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF16): New macro. [__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF32): Likewise. [__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF64): Likewise. [__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF32X): Likewise. [__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF64X): Likewise. [__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF128X): Likewise.
* Add HUGE_VAL macros for more _FloatN, _FloatNx types.Joseph Myers2017-10-262-0/+33
| | | | | | | | | | | | | | | | | | | | | | This patch continues the preparation for additional _FloatN / _FloatNx type support by adding appropriately conditional definitions of HUGE_VAL_* macros, corresponding to the HUGE_VAL_F128 definition already present. Tested for x86_64. * math/math.h [__HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (HUGE_VAL_F16): New macro. [__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (HUGE_VAL_F32): Likewise. [__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (HUGE_VAL_F64): Likewise. [__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)] (HUGE_VAL_F32X): Likewise. [__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)] (HUGE_VAL_F64X): Likewise. [__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)] (HUGE_VAL_F128X): Likewise.
* add myself as contact for "br" localeThierry Vignaud2017-10-262-2/+8
| | | | | | | | | Pablo was l10n/i18n coordinator back in the old days but MandrakeSoft is dead now * localedata/locales/br_FR (LC_IDENTIFICATON): Add Thierry Vignaud <thierry.vignaud@gmail.com> as the contact for the br_FR locale.
* fix nostr for "br" [BZ #21706]Thierry Vignaud2017-10-262-2/+7
| | | | | | | | | | | | | | | | | | | | "Ket" is the the most used negative answer, as it's the negative answer to a positively phrased question It's used as it or with the verb ("Ne ran ket", ...) As such, "Ket" is used in most translations. "Nann" is less used as it's the negative answer to a negatively phrased question See https://en.wikipedia.org/wiki/Yes_and_no for explanations about languages with 3 or 4 form systems. We still keep "Nn" for short answers as: - new learners are used to "Non" in french - and they often misuses "Nann" - for compatibility with english [BZ #21706] * localedata/locales/br_FR (LC_MESSAGES): Fix nostr.
* localedef: Add --no-warnings/--warnings optionCarlos O'Donell2017-10-2514-242/+384
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From localedef --help: Output control: ... --no-warnings=<warnings> Comma-separated list of warnings to disable; supported warnings are: ascii, intcurrsym ... --warnings=<warnings> Comma-separated list of warnings to enable; supported warnings are: ascii, intcurrsym Locales using SHIFT_JIS and SHIFT_JISX0213 character maps are not ASCII compatible. In order to build locales using these character maps, and have localedef exit with a status of 0, we add new option to localedef to disable or enable specific warnings. The options are --no-warnings and --warnings, to disable and enable specific warnings respectively. The options take a comma-separated list of warning names. The warning names are taken directly from the generated warning. When a warning that can be disabled is issued it will print something like this: foo is not defined [--no-warnings=foo] For the initial implementation we add two controllable warnings; first 'ascii' which is used by the localedata installation makefile target to install SHIFT_JIS and SHIFT_JISX0213-using locales without error; second 'intcurrsym' which allows a program to use a non-standard international currency symbol without triggering a warning. The 'intcurrsym' is useful in the future if country codes are added that are not in our current ISO 4217 list, and the user wants to avoid the warning. Having at least two warnings to control gives an example for how the changes can be extended to more warnings if required in the future. These changes allow ja_JP.SHIFT_JIS and ja_JP.SHIFT_JISX0213 to be compiled without warnings using --no-warnings=ascii. The localedata/Makefile $(INSTALL-SUPPORTED-LOCALES) target is adjusted to automatically add `--no-warnings=ascii` for such charmaps, and likewise localedata/gen-locale.sh is adjusted with similar logic. v2: Bring verbose, be_quiet, and all warning control booleans into record-status.c, and compile this object file to be used by locale, iconv, and localedef. Any users include record-status.h. v3: Fix an instance of boolean coercion in set_warning(). Signed-off-by: Carlos O'Donell <carlos@redhat.com>
* localedata: Locale and test name are the same.Carlos O'Donell2017-10-2513-8/+27
| | | | | | | | | | The localedata collation test data is encoded in a particular character set. We rename the test data to match the full locale name with encoding, and adjust the Makefile and sort-test.sh script. This allows us to have a future C.UTF-8 test that is disambiguated from the built-in C locale. Signed-off-by: Carlos O'Donell <carlos@redhat.com>
* localedata: Fix unicode-gen check target.Carlos O'Donell2017-10-2510-22/+37
| | | | | | | | | | | | | | | After the transition to generating a distinct file for Unicode ctype information e.g. i18n_ctype, the check target was left with the wrong target name. This patch fixes the check target and regenerates the files with more information than previously used, filling in the the LC_IDENTIFICATION data. Tested on x86_64 by regenerating from Unicode source files, and running checks. Tested by subsequently rebuilding all locales. No regressions in testsuite. Signed-off-by: Carlos O'Donell <carlos@redhat.com> Reported-by: Rafal Luzynski <digitalfreak@lingonborough.com>
* powerpc: Replace lxvd2x/stxvd2x with lvx/stvx in P7's memcpy/memmoveRajalakshmi Srinivasaraghavan2017-10-253-96/+102
| | | | | | | | | | | | | | | | POWER9 DD2.1 and earlier has an issue where some cache inhibited vector load traps to the kernel, causing a performance degradation. To handle this in memcpy and memmove, lvx/stvx is used for aligned addresses instead of lxvd2x/stxvd2x. Reference: https://patchwork.ozlabs.org/patch/814059/ * sysdeps/powerpc/powerpc64/power7/memcpy.S: Replace lxvd2x/stxvd2x with lvx/stvx. * sysdeps/powerpc/powerpc64/power7/memmove.S: Likewise. Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* Replace "if if " with "if " in commentsH.J. Lu2017-10-257-8/+21
| | | | | | | | | | | | | * include/alloc_buffer.h: Replace "if if " with "if " in comments. * sysdeps/mips/memcpy.S: Likkewise. * sysdeps/mips/memset.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf16_core_avx512.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf4_core_sse4.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf8_core_avx2.S: Likewise.
* CJK locales: Add fullwidth yYnN to yesexpr and noexpr [BZ #15261]Mike FABIAN2017-10-259-22/+39
| | | | | | | | | | | | | [BZ #15261] * localedata/locales/cmn_TW (LC_MESSAGES): Add fullwidth yYnN to yesexpr and noexpr. * localedata/locales/hak_TW (LC_MESSAGES): Likewise. * localedata/locales/ko_KR (LC_MESSAGES): Likewise. * localedata/locales/lzh_TW (LC_MESSAGES): Likewise. * localedata/locales/nan_TW (LC_MESSAGES): Likewise. * localedata/locales/zh_CN (LC_MESSAGES): Likewise. * localedata/locales/zh_HK (LC_MESSAGES): Likewise. * localedata/locales/zh_TW (LC_MESSAGES): Likewise.
* Sync LC_MESSAGES of several locales with CLDRMike FABIAN2017-10-2513-22/+39
| | | | | | | | | | | | | | | * localedata/locales/am_ET (LC_MESSAGES): Sync with CLDR. * localedata/locales/az_AZ (LC_MESSAGES): Likewise. * localedata/locales/el_GR (LC_MESSAGES): Likewise. * localedata/locales/ha_NG (LC_MESSAGES): Likewise. * localedata/locales/ln_CD (LC_MESSAGES): Likewise. * localedata/locales/mfe_MU (LC_MESSAGES): Likewise. * localedata/locales/ml_IN (LC_MESSAGES): Likewise. * localedata/locales/mt_MT (LC_MESSAGES): Likewise. * localedata/locales/os_RU (LC_MESSAGES): Likewise. * localedata/locales/tg_TJ (LC_MESSAGES): Likewise. * localedata/locales/tt_RU (LC_MESSAGES): Likewise. * localedata/locales/wo_SN (LC_MESSAGES): Likewise.
* Use ASCII as much as possible in LC_MESSAGES of all locales to improve ↵Mike FABIAN2017-10-25176-596/+749
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | readability of the source * localedata/locales/aa_ET (LC_MESSAGES): Use ASCII as much as possible for better readability of the source. * localedata/locales/af_ZA (LC_MESSAGES): Likewise. * localedata/locales/ak_GH (LC_MESSAGES): Likewise. * localedata/locales/am_ET (LC_MESSAGES): Likewise. * localedata/locales/anp_IN (LC_MESSAGES): Likewise. * localedata/locales/ar_EG (LC_MESSAGES): Likewise. * localedata/locales/as_IN (LC_MESSAGES): Likewise. * localedata/locales/ast_ES (LC_MESSAGES): Likewise. * localedata/locales/ayc_PE (LC_MESSAGES): Likewise. * localedata/locales/az_AZ (LC_MESSAGES): Likewise. * localedata/locales/az_IR (LC_MESSAGES): Likewise. * localedata/locales/be_BY (LC_MESSAGES): Likewise. * localedata/locales/be_BY@latin (LC_MESSAGES): Likewise. * localedata/locales/bem_ZM (LC_MESSAGES): Likewise. * localedata/locales/ber_MA (LC_MESSAGES): Likewise. * localedata/locales/bg_BG (LC_MESSAGES): Likewise. * localedata/locales/bhb_IN (LC_MESSAGES): Likewise. * localedata/locales/bi_VU (LC_MESSAGES): Likewise. * localedata/locales/bo_CN (LC_MESSAGES): Likewise. * localedata/locales/br_FR (LC_MESSAGES): Likewise. * localedata/locales/bs_BA (LC_MESSAGES): Likewise. * localedata/locales/ca_ES (LC_MESSAGES): Likewise. * localedata/locales/ce_RU (LC_MESSAGES): Likewise. * localedata/locales/crh_UA (LC_MESSAGES): Likewise. * localedata/locales/cs_CZ (LC_MESSAGES): Likewise. * localedata/locales/csb_PL (LC_MESSAGES): Likewise. * localedata/locales/cv_RU (LC_MESSAGES): Likewise. * localedata/locales/cy_GB (LC_MESSAGES): Likewise. * localedata/locales/da_DK (LC_MESSAGES): Likewise. * localedata/locales/de_DE (LC_MESSAGES): Likewise. * localedata/locales/dv_MV (LC_MESSAGES): Likewise. * localedata/locales/dz_BT (LC_MESSAGES): Likewise. * localedata/locales/el_GR (LC_MESSAGES): Likewise. * localedata/locales/en_CA (LC_MESSAGES): Likewise. * localedata/locales/en_US (LC_MESSAGES): Likewise. * localedata/locales/es_ES (LC_MESSAGES): Likewise. * localedata/locales/et_EE (LC_MESSAGES): Likewise. * localedata/locales/eu_ES (LC_MESSAGES): Likewise. * localedata/locales/fa_IR (LC_MESSAGES): Likewise. * localedata/locales/ff_SN (LC_MESSAGES): Likewise. * localedata/locales/fi_FI (LC_MESSAGES): Likewise. * localedata/locales/fil_PH (LC_MESSAGES): Likewise. * localedata/locales/fo_FO (LC_MESSAGES): Likewise. * localedata/locales/fr_BE (LC_MESSAGES): Likewise. * localedata/locales/fr_CH (LC_MESSAGES): Likewise. * localedata/locales/fr_FR (LC_MESSAGES): Likewise. * localedata/locales/fr_LU (LC_MESSAGES): Likewise. * localedata/locales/fur_IT (LC_MESSAGES): Likewise. * localedata/locales/fy_DE (LC_MESSAGES): Likewise. * localedata/locales/ga_IE (LC_MESSAGES): Likewise. * localedata/locales/gd_GB (LC_MESSAGES): Likewise. * localedata/locales/gl_ES (LC_MESSAGES): Likewise. * localedata/locales/gu_IN (LC_MESSAGES): Likewise. * localedata/locales/gv_GB (LC_MESSAGES): Likewise. * localedata/locales/ha_NG (LC_MESSAGES): Likewise. * localedata/locales/hak_TW (LC_MESSAGES): Likewise. * localedata/locales/he_IL (LC_MESSAGES): Likewise. * localedata/locales/hif_FJ (LC_MESSAGES): Likewise. * localedata/locales/hne_IN (LC_MESSAGES): Likewise. * localedata/locales/hr_HR (LC_MESSAGES): Likewise. * localedata/locales/hsb_DE (LC_MESSAGES): Likewise. * localedata/locales/ht_HT (LC_MESSAGES): Likewise. * localedata/locales/hu_HU (LC_MESSAGES): Likewise. * localedata/locales/hy_AM (LC_MESSAGES): Likewise. * localedata/locales/ia_FR (LC_MESSAGES): Likewise. * localedata/locales/id_ID (LC_MESSAGES): Likewise. * localedata/locales/ig_NG (LC_MESSAGES): Likewise. * localedata/locales/ik_CA (LC_MESSAGES): Likewise. * localedata/locales/is_IS (LC_MESSAGES): Likewise. * localedata/locales/it_CH (LC_MESSAGES): Likewise. * localedata/locales/it_IT (LC_MESSAGES): Likewise. * localedata/locales/iu_CA (LC_MESSAGES): Likewise. * localedata/locales/ja_JP (LC_MESSAGES): Likewise. * localedata/locales/kk_KZ (LC_MESSAGES): Likewise. * localedata/locales/kl_GL (LC_MESSAGES): Likewise. * localedata/locales/ko_KR (LC_MESSAGES): Likewise. * localedata/locales/ks_IN (LC_MESSAGES): Likewise. * localedata/locales/ku_TR (LC_MESSAGES): Likewise. * localedata/locales/kw_GB (LC_MESSAGES): Likewise. * localedata/locales/ky_KG (LC_MESSAGES): Likewise. * localedata/locales/lb_LU (LC_MESSAGES): Likewise. * localedata/locales/lg_UG (LC_MESSAGES): Likewise. * localedata/locales/li_NL (LC_MESSAGES): Likewise. * localedata/locales/lij_IT (LC_MESSAGES): Likewise. * localedata/locales/ln_CD (LC_MESSAGES): Likewise. * localedata/locales/lo_LA (LC_MESSAGES): Likewise. * localedata/locales/lt_LT (LC_MESSAGES): Likewise. * localedata/locales/lv_LV (LC_MESSAGES): Likewise. * localedata/locales/lzh_TW (LC_MESSAGES): Likewise. * localedata/locales/mg_MG (LC_MESSAGES): Likewise. * localedata/locales/mhr_RU (LC_MESSAGES): Likewise. * localedata/locales/mi_NZ (LC_MESSAGES): Likewise. * localedata/locales/mk_MK (LC_MESSAGES): Likewise. * localedata/locales/ml_IN (LC_MESSAGES): Likewise. * localedata/locales/mn_MN (LC_MESSAGES): Likewise. * localedata/locales/ms_MY (LC_MESSAGES): Likewise. * localedata/locales/mt_MT (LC_MESSAGES): Likewise. * localedata/locales/my_MM (LC_MESSAGES): Likewise. * localedata/locales/nan_TW (LC_MESSAGES): Likewise. * localedata/locales/nan_TW@latin (LC_MESSAGES): Likewise. * localedata/locales/nb_NO (LC_MESSAGES): Likewise. * localedata/locales/nds_DE (LC_MESSAGES): Likewise. * localedata/locales/nds_NL (LC_MESSAGES): Likewise. * localedata/locales/ne_NP (LC_MESSAGES): Likewise. * localedata/locales/nhn_MX (LC_MESSAGES): Likewise. * localedata/locales/niu_NU (LC_MESSAGES): Likewise. * localedata/locales/nl_NL (LC_MESSAGES): Likewise. * localedata/locales/nn_NO (LC_MESSAGES): Likewise. * localedata/locales/nr_ZA (LC_MESSAGES): Likewise. * localedata/locales/nso_ZA (LC_MESSAGES): Likewise. * localedata/locales/oc_FR (LC_MESSAGES): Likewise. * localedata/locales/om_ET (LC_MESSAGES): Likewise. * localedata/locales/or_IN (LC_MESSAGES): Likewise. * localedata/locales/os_RU (LC_MESSAGES): Likewise. * localedata/locales/pa_IN (LC_MESSAGES): Likewise. * localedata/locales/pa_PK (LC_MESSAGES): Likewise. * localedata/locales/pap_AW (LC_MESSAGES): Likewise. * localedata/locales/pap_CW (LC_MESSAGES): Likewise. * localedata/locales/pl_PL (LC_MESSAGES): Likewise. * localedata/locales/ps_AF (LC_MESSAGES): Likewise. * localedata/locales/pt_BR (LC_MESSAGES): Likewise. * localedata/locales/quz_PE (LC_MESSAGES): Likewise. * localedata/locales/raj_IN (LC_MESSAGES): Likewise. * localedata/locales/ro_RO (LC_MESSAGES): Likewise. * localedata/locales/ru_RU (LC_MESSAGES): Likewise. * localedata/locales/ru_UA (LC_MESSAGES): Likewise. * localedata/locales/rw_RW (LC_MESSAGES): Likewise. * localedata/locales/sa_IN (LC_MESSAGES): Likewise. * localedata/locales/sc_IT (LC_MESSAGES): Likewise. * localedata/locales/sd_IN@devanagari (LC_MESSAGES): Likewise. * localedata/locales/se_NO (LC_MESSAGES): Likewise. * localedata/locales/sgs_LT (LC_MESSAGES): Likewise. * localedata/locales/si_LK (LC_MESSAGES): Likewise. * localedata/locales/sk_SK (LC_MESSAGES): Likewise. * localedata/locales/sl_SI (LC_MESSAGES): Likewise. * localedata/locales/sm_WS (LC_MESSAGES): Likewise. * localedata/locales/so_DJ (LC_MESSAGES): Likewise. * localedata/locales/sq_AL (LC_MESSAGES): Likewise. * localedata/locales/sr_RS (LC_MESSAGES): Likewise. * localedata/locales/sr_RS@latin (LC_MESSAGES): Likewise. * localedata/locales/ss_ZA (LC_MESSAGES): Likewise. * localedata/locales/st_ZA (LC_MESSAGES): Likewise. * localedata/locales/sv_SE (LC_MESSAGES): Likewise. * localedata/locales/sw_KE (LC_MESSAGES): Likewise. * localedata/locales/szl_PL (LC_MESSAGES): Likewise. * localedata/locales/tcy_IN (LC_MESSAGES): Likewise. * localedata/locales/tg_TJ (LC_MESSAGES): Likewise. * localedata/locales/th_TH (LC_MESSAGES): Likewise. * localedata/locales/the_NP (LC_MESSAGES): Likewise. * localedata/locales/ti_ER (LC_MESSAGES): Likewise. * localedata/locales/tk_TM (LC_MESSAGES): Likewise. * localedata/locales/tn_ZA (LC_MESSAGES): Likewise. * localedata/locales/to_TO (LC_MESSAGES): Likewise. * localedata/locales/tr_TR (LC_MESSAGES): Likewise. * localedata/locales/ts_ZA (LC_MESSAGES): Likewise. * localedata/locales/tt_RU (LC_MESSAGES): Likewise. * localedata/locales/tt_RU@iqtelif (LC_MESSAGES): Likewise. * localedata/locales/uk_UA (LC_MESSAGES): Likewise. * localedata/locales/unm_US (LC_MESSAGES): Likewise. * localedata/locales/ur_IN (LC_MESSAGES): Likewise. * localedata/locales/ur_PK (LC_MESSAGES): Likewise. * localedata/locales/uz_UZ (LC_MESSAGES): Likewise. * localedata/locales/uz_UZ@cyrillic (LC_MESSAGES): Likewise. * localedata/locales/ve_ZA (LC_MESSAGES): Likewise. * localedata/locales/vi_VN (LC_MESSAGES): Likewise. * localedata/locales/wa_BE (LC_MESSAGES): Likewise. * localedata/locales/wo_SN (LC_MESSAGES): Likewise. * localedata/locales/xh_ZA (LC_MESSAGES): Likewise. * localedata/locales/yi_US (LC_MESSAGES): Likewise. * localedata/locales/yo_NG (LC_MESSAGES): Likewise. * localedata/locales/yue_HK (LC_MESSAGES): Likewise. * localedata/locales/zh_CN (LC_MESSAGES): Likewise. * localedata/locales/zh_HK (LC_MESSAGES): Likewise. * localedata/locales/zh_TW (LC_MESSAGES): Likewise. * localedata/locales/zu_ZA (LC_MESSAGES): Likewise.
* brx_IN locale: Fix yesexpr and noexprMike FABIAN2017-10-252-4/+8
| | | | | | * localedata/locales/brx_IN (LC_MESSAGES): Fix yesexpr and noexpr (Use first letters of yesstr and nostr correctly instead of using full words).
* ta_IN locale: Fix yesexpr and noexprMike FABIAN2017-10-252-2/+7
| | | | | * localedata/locales/ta_IN (LC_MESSAGES): Fix yesexpr and noexpr (Use first letters of yesstr and nostr correctly).
* hi_IN, kn_IN, ks_IN@devanagari locales: In yesexpr and noexpr, also check ↵Mike FABIAN2017-10-254-6/+13
| | | | | | | | | for the first characters of yesstr and nostr * localedata/locales/hi_IN (LC_MESSAGES): In yesexpr and noexpr, also check for the first characters of yesstr and nostr. * localedata/locales/kn_IN (LC_MESSAGES): Likewise. * localedata/locales/ks_IN@devanagari (LC_MESSAGES): Likewise.
* cmn_TW locale: Improve yesexpr and noexprMike FABIAN2017-10-252-4/+7
| | | | | * localedata/locales/cmn_TW (LC_MESSAGES): In yesexpr and noexpr, also check for Chinese characters.
* chr_US locale: Fix yesexpr and noexprMike FABIAN2017-10-252-2/+9
| | | | | | | * localedata/locales/chr_US (LC_MESSAGES): In yesexpr and noexpr, match also for the contents of yesstr and nostr. As the first letter of yesstr and nostr is equal, checking only for the first letter is not enough.
* ber_DZ locale: Use copy “"kab_DZ"” in LC_MESSAGES.Mike FABIAN2017-10-252-5/+7
| | | | | * localedata/locales/ber_DZ (LC_MESSAGES): Use copy "kab_DZ", it is the same according to Belkacem Mohammed <belkacem77@gmail.com>.
* kab_DZ locale: Add e-mail of main contributorMike FABIAN2017-10-252-1/+7
| | | | | * localedata/locales/kab_DZ (LC_IDENTIFICATION): Add e-mail of main contributor.
* zh_SG locale: Use copy "zh_CN" in LC_MESSAGES instead of EnglishMike FABIAN2017-10-252-4/+6
| | | | | * localedata/locales/zh_SG (LC_MESSAGES): Use copy "zh_CN" instead of using English.
* ug_CN locale: Fix noexpr and yesexprMike FABIAN2017-10-252-2/+8
| | | | | | * localedata/locales/ug_CN (LC_MESSAGES): Fix noexpr and yesexpr by including the first letters of nostr and yesexpr in the regexp. Also make it more readable by using ASCII where possible.
* ti_IN locale: Fix noexprMike FABIAN2017-10-252-2/+8
| | | | | | * localedata/locales/te_IN (LC_MESSAGES): Fix noexpr by including the first letter of nostr in the regexp. It agrees with CLDR now. Also make it more readable by using ASCII where possible.
* km_KH locale: Fix yesstr and nostr.Mike FABIAN2017-10-252-2/+10
| | | | | | | | * localedata/locales/km_KH (LC_MESSAGES): Fix yestr and nostr. The yesstr and nostr apparently came from CLDR. And CLDR has a bug there: these strings contain a U+17D6 (which somewhat looks like a colon) instead of a real colon to separate the full words for “yes” and “no” from the single letter responses.
* ka_GE locale: Fix yesexp to make it agree with CLDR.Mike FABIAN2017-10-252-2/+8
| | | | | | * localedata/locales/ka_GE (LC_MESSAGES): Fix yesexp to make it agree with CLDR (include the first letter of yesstr). Also make it more readable by using ASCII where possible.
* mr_IN locale: Fix yesstr and nostr and improve yesexpr and noexpr.Mike FABIAN2017-10-252-6/+13
| | | | | | | | | * localedata/locales/mr_IN (LC_MESSAGES): Fix yesstr and nostr and improve yesexpr and noexpr. The yesstr and nostr apparently came from CLDR. And CLDR has a bug there: these strings contain a U+0903 (which looks like a colon) instead of a real colon to separate the full words for “yes” and “no” from the single letter responses.
* bn_BD locale: Use only the first letters of the full yesstr and nostr in ↵Mike FABIAN2017-10-252-2/+7
| | | | | | | | | | | yesexpr and noexpr Using all characters of the full words for yes and no in yesexpr and noexpr makes no sense here, especially not because the words for yes and no share one character. * localedata/locales/bn_BD (LC_MESSAGES): Use only the first letters of the full yesstr and nostr in yesexpr and noexpr.
* Add yesstr, nostr, lang_term, lang_lib to an_ES localeMike FABIAN2017-10-252-46/+51
| | | | | | | * localedata/locales/an_ES (LC_MESSAGES): Add yesstr and nostr. * localedata/locales/an_ES (LC_ADDRESS): Add lang_term and lang_lib. * localedata/locales/an_ES: Make source more readable by using ASCII where possible.
* Add new locale yuw_PG [BZ #20952]Mike FABIAN2017-10-254-0/+162
| | | | | | | [BZ #20952] * localedata/locales/yuw_PG: New file. * localedata/SUPPORTED: Add yuw_PG/UTF-8. * locale/iso-639.def: Add Yau (Uruwa).
* Add single-threaded path to _int_mallocWilco Dijkstra2017-10-242-25/+42
| | | | | | This patch adds single-threaded fast paths to _int_malloc. * malloc/malloc.c (_int_malloc): Add SINGLE_THREAD_P path.
* Add single-threaded path to malloc/realloc/calloc/memallocWilco Dijkstra2017-10-242-9/+48
| | | | | | | | | | | | | This patch adds a single-threaded fast path to malloc, realloc, calloc and memalloc. When we're single-threaded, we can bypass arena_get (which always locks the arena it returns) and just use the main arena. Also avoid retrying a different arena since there is just the main arena. * malloc/malloc.c (__libc_malloc): Add SINGLE_THREAD_P path. (__libc_realloc): Likewise. (_mid_memalign): Likewise. (__libc_calloc): Likewise.
* Fixes for tpi_PG localeMike FABIAN2017-10-242-92/+75
| | | | | | | * localedata/locales/tpi_PG (LC_MESSAGES): Fix yesexpr and noexpr by adding the generic +1 and -0 as in all other locales. * localedata/locales/tpi_PG (LC_TIME): Fix some typos in the month and day names and make it more readable by using ASCII where possible.
* Update x86 fix-fp-int-compare-invalid.h for GCC 8.Joseph Myers2017-10-242-2/+11
| | | | | | | | | | | | | | | | | | The glibc implementation of iseqsig relies on ordered comparison operators raising the "invalid" exception for quiet NaN operands, with a workaround on platforms where a GCC bug means that exception is not raised. For x86, that bug has now been fixed for GCC 8, so this patch disables the workaround in that case. If and when the corresponding bugs for powerpc and s390 are fixed, the headers for those platforms should of course be updated similarly. Tested for x86_64 and x86, including with GCC mainline. Note that other failures appear with GCC mainline because of spurious use of ordered comparison instructions for unordered operations <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82692>. * sysdeps/x86/fpu/fix-fp-int-compare-invalid.h (FIX_COMPARE_INVALID): Define to 0 if [__GNUC_PREREQ (8, 0)].
* posix: Do not use WNOHANG in waitpid call for Linux posix_spawnAdhemerval Zanella2017-10-232-5/+10
| | | | | | | | | | | | | | | | | | | | As shown in some buildbot issues on aarch64 and powerpc, calling clone (VFORK) and waitpid (WNOHANG) does not guarantee the child is ready to be collected. This patch changes the call back to 0 as before fe05e1cb6d64 fix. This change can lead to the scenario 4.3 described in the commit, where the waitpid call can hang undefinitely on the call. However this is also a very unlikely and also undefinied situation where both the caller is trying to terminate a pid before posix_spawn returns and the race pid reuse is triggered. I don't see how to correct handle this specific situation within posix_spawn. Checked on x86_64-linux-gnu, aarch64-linux-gnu and powerpc64-linux-gnu. * sysdeps/unix/sysv/linux/spawni.c (__spawnix): Use 0 instead of WNOHANG in waitpid call.
* aarch64: Document _SC_LEVEL1_DCACHE_LINESIZE caveatSiddhesh Poyarekar2017-10-232-0/+15
| | | | | | | | | | | | | | | | | The _SC_LEVEL1_DCACHE_LINESIZE is reported using the contents of the ctr_el0 register, which tells us the minimum observable cache line size by userspace. This typically is the same as the L1 cache line size, but that may not always be true. It could be a higher level cache line size as long as cache cleaning and invalidation work correctly with that line size in userspace. The falkor core for example reports the L2 line size as the dcache line size in CTR_EL0 while also reporting the correct L1 dcache line size via CCSIDR_EL1. * manual/conf.texi (_SC_LEVEL1_DCACHE_LINESIZE, _SC_LEVEL1_ICACHE_LINESIZE): Document aarch64 caveat. Reviewed-by: Rical Jasan <ricaljasan@pacific.net> Reviewed-by: Szabolcs Nagy <szabolcs.nagy@arm.com>