Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
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>
|
|
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.
|
|
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".
|
|
case letters
* localedata/locales/tt_RU (LC_MESSAGES): Start yesstr and nostr
with lowercase letters to make it agree with CLDR.
|
|
[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.
|
|
[BZ #21706]
* localedata/locales/br_FR (LC_MESSAGES): Use all lowercase
in yesstr and nostr.
|
|
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.
|
|
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.
|
|
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.
|
|
"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.
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
* 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.
|
|
[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.
|
|
* 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.
|
|
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.
|
|
* localedata/locales/brx_IN (LC_MESSAGES): Fix yesexpr and noexpr
(Use first letters of yesstr and nostr correctly instead of using
full words).
|
|
* localedata/locales/ta_IN (LC_MESSAGES): Fix yesexpr and noexpr
(Use first letters of yesstr and nostr correctly).
|
|
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.
|
|
* localedata/locales/cmn_TW (LC_MESSAGES): In yesexpr and noexpr,
also check for Chinese characters.
|
|
* 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.
|
|
* localedata/locales/ber_DZ (LC_MESSAGES): Use copy "kab_DZ",
it is the same according to Belkacem Mohammed <belkacem77@gmail.com>.
|
|
* localedata/locales/kab_DZ (LC_IDENTIFICATION): Add e-mail
of main contributor.
|
|
* localedata/locales/zh_SG (LC_MESSAGES): Use copy "zh_CN"
instead of using English.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
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.
|
|
* 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.
|
|
[BZ #20952]
* localedata/locales/yuw_PG: New file.
* localedata/SUPPORTED: Add yuw_PG/UTF-8.
* locale/iso-639.def: Add Yau (Uruwa).
|
|
This patch adds single-threaded fast paths to _int_malloc.
* malloc/malloc.c (_int_malloc): Add SINGLE_THREAD_P path.
|
|
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.
|
|
* 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.
|
|
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)].
|
|
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.
|
|
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>
|
|
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>
|
|
Without -fno-math-errno, the builtins just do a call instead of
inlining a single instruction.
|
|
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.
|
|
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>
|
|
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>
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|