about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Add strcpy-stosb.S hjl/pr22353/masterH.J. Lu2017-10-306-1/+151
|
* Add i386 strcpy.SH.J. Lu2017-10-302-83/+116
|
* i586: Use a jump table in strcpy.S [BZ #22353]H.J. Lu2017-10-301-17/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | i586 strcpy.S used a clever trick with LEA to avoid 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 may fail if there are instruction length changes before L(1):. This patch replaces it with a jump table which works with any instruction length changes. Tested on i586 and i686 with and without --disable-multi-arch. [BZ #22353] * sysdeps/i386/i586/strcpy.S (JMPTBL): New. (BRANCH_TO_JMPTBL_ENTRY): Likewise. (STRCPY): Use it. (1): Renamed to ... (L(Src0)): This. (L(Src1)): New. (L(Src2)): Likewise. (L(1)): Renamed to ... (L(Src3)): This. (L(SrcTable)): New.
* 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>
* Document cache information sysconf variablesSiddhesh Poyarekar2017-10-232-0/+73
| | | | | | | | | | | | | | | | | Write short descriptions for each of the cache information sysconf variables. * manual/conf.texi (_SC_LEVEL1_ICACHE_SIZE, _SC_LEVEL1_ICACHE_ASSOC, _SC_LEVEL1_ICACHE_LINESIZE, _SC_LEVEL1_DCACHE_SIZE, _SC_LEVEL1_DCACHE_ASSOC, _SC_LEVEL1_DCACHE_LINESIZE, _SC_LEVEL2_CACHE_SIZE, _SC_LEVEL2_CACHE_ASSOC, _SC_LEVEL2_CACHE_LINESIZE, _SC_LEVEL3_CACHE_SIZE, _SC_LEVEL3_CACHE_ASSOC, _SC_LEVEL3_CACHE_LINESIZE, _SC_LEVEL4_CACHE_SIZE, _SC_LEVEL4_CACHE_ASSOC, _SC_LEVEL4_CACHE_LINESIZE): New variables. Reviewed-by: Rical Jasan <ricaljasan@pacific.net>
* aarch64: Add missing math Makefile for recent commitSzabolcs Nagy2017-10-232-1/+10
| | | | | Without -fno-math-errno, the builtins just do a call instead of inlining a single instruction.
* aarch64: Implement math acceleration via builtinsMichael Collison2017-10-2331-288/+309
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch converts asm statements into builtins for AArch64. As an example for the file sysdeps/aarch64/fpu/s_ceil.c, we convert the function from double __ceil (double x) { double result; asm ("frintp\t%d0, %d1" : "=w" (result) : "w" (x) ); return result; } into double __ceil (double x) { return __builtin_ceil (x); } Tested on aarch64-linux-gnu with gcc-4.9.4 and gcc-6. * sysdeps/aarch64/fpu/e_sqrt.c (ieee754_sqrt): Replace asm statements with __builtin_sqrt. * sysdeps/aarch64/fpu/e_sqrtf.c (ieee754_sqrtf): Replace asm statements with __builtin_sqrtf. * sysdeps/aarch64/fpu/s_ceil.c (__ceil): Replace asm statements with __builtin_ceil. * sysdeps/aarch64/fpu/s_ceilf.c (__ceilf): Replace asm statements with __builtin_ceilf. * sysdeps/aarch64/fpu/s_floor.c (__floor): Replace asm statements with __builtin_floor. * sysdeps/aarch64/fpu/s_floorf.c (__floorf): Replace asm statements with __builtin_floorf. * sysdeps/aarch64/fpu/s_fma.c (__fma): Replace asm statements with __builtin_fma. * sysdeps/aarch64/fpu/s_fmaf.c (__fmaf): Replace asm statements with __builtin_fmaf. * sysdeps/aarch64/fpu/s_fmax.c (__fmax): Replace asm statements with __builtin_fmax. * sysdeps/aarch64/fpu/s_fmaxf.c (__fmaxf): Replace asm statements with __builtin_fmaxf. * sysdeps/aarch64/fpu/s_fmin.c (__fmin): Replace asm statements with __builtin_fmin. * sysdeps/aarch64/fpu/s_fminf.c (__fminf): Replace asm statements with __builtin_fminf. * sysdeps/aarch64/fpu/s_frint.c: Delete file. * sysdeps/aarch64/fpu/s_frintf.c: Delete file. * sysdeps/aarch64/fpu/s_llrint.c (__llrint): Replace asm statements with builtin_rint and conversion to int. * sysdeps/aarch64/fpu/s_llrintf.c (__llrintf): Likewise. * sysdeps/aarch64/fpu/s_llround.c (__llround): Replace asm statements with builtin_llround. * sysdeps/aarch64/fpu/s_llroundf.c (__llroundf): Likewise. * sysdeps/aarch64/fpu/s_lrint.c (__lrint): Replace asm statements with builtin_rint and conversion to long int. * sysdeps/aarch64/fpu/s_lrintf.c (__lrintf): Likewise. * sysdeps/aarch64/fpu/s_lround.c (__lround): Replace asm statements with builtin_lround. * sysdeps/aarch64/fpu/s_lroundf.c (__lroundf): Replace asm statements with builtin_lroundf. * sysdeps/aarch64/fpu/s_nearbyint.c (__nearbyint): Replace asm statements with __builtin_nearbyint. * sysdeps/aarch64/fpu/s_nearbyintf.c (__nearbyintf): Replace asm statements with __builtin_nearbyintf. * sysdeps/aarch64/fpu/s_rint.c (__rint): Replace asm statements with __builtin_rint. * sysdeps/aarch64/fpu/s_rintf.c (__rintf): Replace asm statements with __builtin_rintf. * sysdeps/aarch64/fpu/s_round.c (__round): Replace asm statements with __builtin_round. * sysdeps/aarch64/fpu/s_roundf.c (__roundf): Replace asm statements with __builtin_roundf. * sysdeps/aarch64/fpu/s_trunc.c (__trunc): Replace asm statements with __builtin_trunc. * sysdeps/aarch64/fpu/s_truncf.c (__truncf): Replace asm statements with __builtin_truncf. * sysdeps/aarch64/fpu/Makefile: Build e_sqrt[f].c with -fno-math-errno.
* PowerPC64 power8 strncpy cfi fixesAlan Modra2017-10-232-13/+19
| | | | | | | | | | | | | | | | | | | | | cfi info for stack adjust needs to be on the insn doing the adjust. cfi describing register saves can be anywhere after the save insn but before the reg is altered. Fewer locations with cfi result in smaller cfi programs and possibly slightly faster exception handling. Thus the LR cfi_offset move. The idea behind ajusting sp after restoring regs is to break a register dependency chain, in this case not be using r1 immediately after it is modified. The missing LR cfi_restore meant that code after the blr, unaligned_lt_16 and other labels, would have cfi that said LR was at cfa+16, but that code is reached without LR being saved. * sysdeps/powerpc/powerpc64/power8/strncpy.S: Move LR cfi. Adjust stack after restoring regs. Add missing LR cfi_restore. Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>