about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Use newly built crt*.o files to build shared objects [BZ #22362] hjl/pr22362/masterH.J. Lu2017-10-285-10/+23
| | | | | | | | | | | | | | | | | | | | | When multi-lib GCC is used to build glibc, the search order of GCC driver for crt*.o is -B*/`gcc -print-multi-directory`, the installed diretory, -B*/. This patch extends multi-lib support from nptl/Makefile to csu/Makefile so that -B/glibc-build-directory/csu/ will pick up the newly built crt*.o. Tested on x86-64 for i686 and x32. [BZ #22362] * config.make.in (multidir): New. * configure.ac (libc_cv_multidir): New. AC_SUBST. * configure: Regenerated. * csu/Makefile [$(multidir) != .](multilib-extra-objs): New. [$(multidir) != .](extra-objs): Add $(multilib-extra-objs). [$(multidir) != .]($(addprefix $(objpfx)$(multidir)/, $(install-lib))): New target. * nptl/Makefile: Don't include multidir.mk. ($(objpfx)multidir.mk): Removed.
* 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>
* PowerPC64 power7 strncpy stack handling and cfiAlan Modra2017-10-232-10/+19
| | | | | | | | | | | | | This patch moves the frame setup and teardown to immediately around the single memset call, as has been done for power8. I've also decreased FRAMESIZE to that needed to save the two callee-saved registers used. Plus added cfi. * sysdeps/powerpc/powerpc64/power7/strncpy.S: Decrease FRAMESIZE. Move LR save and frame setup/teardown and LR restore to immediately around memset call. Provide cfi. Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
* i386: Replace assembly versions of e_powf with generic e_powf.cH.J. Lu2017-10-229-401/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch replaces i386 assembly versions of e_powf with generic e_powf.c. For workload-spec2017.wrf, on Nehalem, it improves performance by: Before After Improvement reciprocal-throughput 230.855 78.3358 194% latency 231.685 94.1259 146% On Skylake, it improves performance by: Before After Improvement reciprocal-throughput 239.858 47.4713 405% latency 247.57 93.8798 163% On IvyBridge with --disable-multi-arch, it improves performance by: Before After Improvement reciprocal-throughput 269.078 63.3758 324% latency 271.473 102.091 165% * sysdeps/i386/fpu/e_powf.S: Removed. * sysdeps/i386/fpu/e_powf_log2_data.c: Likewise. * sysdeps/i386/fpu/w_powf.c: Likewise. * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_powf.c. * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines): Add e_powf-sse2. (CFLAGS-e_powf-sse2.c): New. * sysdeps/i386/i686/fpu/multiarch/e_powf-sse2.c: New file. * sysdeps/i386/i686/fpu/multiarch/e_powf.c: Likewise.
* i386: Replace assembly versions of e_log2f with generic e_log2f.cH.J. Lu2017-10-229-72/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch replaces i386 assembly versions of e_log2f with generic e_log2f.c. For workload-spec2017.wrf, on Nehalem, it improves performance by: Before After Improvement reciprocal-throughput 92.3845 30.8752 199% latency 112.855 54.8645 105% On Skylake, it improves performance by: Before After Improvement reciprocal-throughput 98.7488 22.7507 334% latency 118.01 51.6083 128% On IvyBridge with --disable-multi-arch, it improves performance by: Before After Improvement reciprocal-throughput 106.635 28.8596 269% latency 129.888 56.9187 128% * sysdeps/i386/fpu/e_log2f.S: Removed. * sysdeps/i386/fpu/e_log2f_data.c: Likewise. * sysdeps/i386/fpu/w_log2f.c: Likewise. * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_log2f.c. * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines): Add e_log2f-sse2. (CFLAGS-e_log2f-sse2.c): New. * sysdeps/i386/i686/fpu/multiarch/e_log2f-sse2.c: New file. * sysdeps/i386/i686/fpu/multiarch/e_log2f.c: Likewise.
* x86-64: Add powf with FMAH.J. Lu2017-10-224-1/+57
| | | | | | | | | | | | | | For workload-spec2017.wrf, on Skylake, it improves performance by: Before After Improvement reciprocal-throughput 35.4713 27.3842 29% latency 82.4537 66.3175 24% * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): Add e_powf-fma. (CFLAGS-e_powf-fma.c): New. * sysdeps/x86_64/fpu/multiarch/e_powf-fma.c: New file. * sysdeps/x86_64/fpu/multiarch/e_powf.c: Likewise.
* x86-64: Add log2f with FMAH.J. Lu2017-10-224-1/+53
| | | | | | | | | | | | | | For workload-spec2017.wrf, on Skylake, it improves performance by: Before After Improvement reciprocal-throughput 16.5937 14.0789 17% latency 41.7755 35.3586 18% * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): Add e_log2f-fma. (CFLAGS-e_log2f-fma.c): New. * sysdeps/x86_64/fpu/multiarch/e_log2f-fma.c: New file. * sysdeps/x86_64/fpu/multiarch/e_log2f.c: Likewise.