platform/upstream/glibc.git
7 years agopowerpc: Fix float128 IFUNC relocations [BZ #21707]
Tulio Magno Quites Machado Filho [Mon, 17 Jul 2017 20:48:59 +0000 (17:48 -0300)]
powerpc: Fix float128 IFUNC relocations [BZ #21707]

The patch proposed by Peter Bergner [1] to libgcc in order to fix
[BZ #21707] adds a dependency on a symbol provided by the loader,
forcing the loader to be linked to tests after libgcc was linked.

It also requires to read the thread pointer during IRELA relocations.

Tested on powerpc, powerpc64, powerpc64le, s390x and x86_64.

[1] https://sourceware.org/ml/libc-alpha/2017-06/msg01383.html

[BZ #21707]
* csu/libc-start.c (LIBC_START_MAIN): Perform IREL{,A}
relocations before or after initializing the TCB on statically
linked executables.  That's a per-architecture definition.
* elf/rtld.c (dl_main): Add a comment about thread-local
variables initialization.
* sysdeps/generic/libc-start.h: New file.  Define
ARCH_APPLY_IREL and ARCH_SETUP_IREL.
* sysdeps/powerpc/Makefile:
[$(subdir) = elf && $(multi-arch) != no] (tests-static-internal): Add tst-tlsifunc-static.
[$(subdir) = elf && $(multi-arch) != no && $(build-shared) == yes]
(tests-internal): Add tst-tlsifunc.
* sysdeps/powerpc/tst-tlsifunc.c: New file.
* sysdeps/powerpc/tst-tlsifunc-static.c: Likewise.
* sysdeps/powerpc/powerpc64le/Makefile (f128-loader-link): New
variable.
[$(subdir) = math] (test-float128% test-ifloat128%): Force
linking to the loader after linking to libgcc.
[$(subdir) = wcsmbs || $(subdir) = stdlib] (bug-strtod bug-strtod2)
(bug-strtod2 tst-strtod-round tst-wcstod-round tst-strtod6 tst-strrom)
(tst-strfrom-locale strfrom-skeleton): Likewise.
* sysdeps/unix/sysv/linux/powerpc/libc-start.h: New file.  Define
ARCH_APPLY_IREL and ARCH_SETUP_IREL.

7 years agoExtend NSS test suite
DJ Delorie [Mon, 17 Jul 2017 19:50:43 +0000 (15:50 -0400)]
Extend NSS test suite

* nss/nss_test.h: New.
* nss/nss_test1.h: Rewrite to use test-provided data.  Add group
tests.  Parameterize to allow multiple instances.
* nss/nss_test2.h: New.  Second instance.
* nss/nss_test.ver: New.
* nss/nss_test1.c: Update to use new framework.
* nss/nss_test2.c: New.
* nss/nss_test3.c: New.
* nss/nss_test4.c: New.
* nss/nss_test5.c: New.
* nss/Makefile: Build new tests.
* shlib-versions: Add libnss_test2.

7 years agohppa: Fix clone exit syscall argument passing (BZ#21512)
Adhemerval Zanella [Mon, 17 Jul 2017 14:46:00 +0000 (11:46 -0300)]
hppa: Fix clone exit syscall argument passing (BZ#21512)

This patch fixes the argument passing for exit syscall after
the clone function returns on hppa.  This fixes misc/tst-clone2
on hppa-linux-gnu.

Checked misc/tst-clone2 on hppa-linux-gnu.

[BZ #21512]
* sysdeps/unix/sysv/linux/hppa/clone.S (__clone): Fix argument
passing to syscall exit.

7 years agoFix country_name in li_NL
Akhilesh Kumar [Mon, 17 Jul 2017 12:19:42 +0000 (14:19 +0200)]
Fix country_name in li_NL

[BZ #21770]
* locales/li_NL: Fix country_name.

7 years agoUse U+02BB MODIFIER LETTER TURNED COMMA instead of U+0027 APOSTROPHE in yesstr and...
Mike FABIAN [Mon, 17 Jul 2017 14:18:10 +0000 (16:18 +0200)]
Use U+02BB MODIFIER LETTER TURNED COMMA instead of U+0027 APOSTROPHE in yesstr and nostr for to_TO locale

Suggested by Rafał Lużyński.

* locales/to_TO (LC_MESSAGES): Use U+02BB instead of U+0027 in yesstr and nostr

7 years agoFix yesexpr in new agr_PE locale
Mike FABIAN [Mon, 17 Jul 2017 12:31:11 +0000 (14:31 +0200)]
Fix yesexpr in new agr_PE locale

yY should be added there as in (almost) all other locales
(Suggested by Rafał Lużyński).

* locales/agr_PE (LC_MESSAGES): Add yY to yesexpr.

7 years agoWrite "Latin" in title case in "title" in hif_FJ locale
Mike FABIAN [Mon, 17 Jul 2017 12:26:43 +0000 (14:26 +0200)]
Write "Latin" in title case in "title" in hif_FJ locale

* locales/hif_FJ: Write "Latin" in title case in "title"

7 years agoAdd HWCAP_ macros from Linux 4.12 to AArch64 bits/hwcap.h.
Szabolcs Nagy [Tue, 4 Jul 2017 10:54:51 +0000 (11:54 +0100)]
Add HWCAP_ macros from Linux 4.12 to AArch64 bits/hwcap.h.

This patch adds the HWCAP_JSCVT, HWCAP_FCMA and HWCAP_LRCPC macros
from Linux 4.12 to the AArch64 bits/hwcap.h.

* sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_FCMA): New macro.
(HWCAP_JSCVT, HWCAP_LRCPC): Likewise.

7 years agoReturn to caller if dl_fixup fails to resolve callee on hppa.
John David Anglin [Sun, 16 Jul 2017 16:59:00 +0000 (12:59 -0400)]
Return to caller if dl_fixup fails to resolve callee on hppa.

7 years agoAdd CFI annotation.
John David Anglin [Sun, 16 Jul 2017 16:46:50 +0000 (12:46 -0400)]
Add CFI annotation.

7 years agoFix stack offset for r19 load in __getcontext.
John David Anglin [Sun, 16 Jul 2017 16:24:30 +0000 (12:24 -0400)]
Fix stack offset for r19 load in __getcontext.

7 years agoFix __setcontext return value on hppa.
John David Anglin [Sun, 16 Jul 2017 16:13:14 +0000 (12:13 -0400)]
Fix __setcontext return value on hppa.

7 years agoFix syscall cancellation on hppa.
John David Anglin [Sun, 16 Jul 2017 15:58:01 +0000 (11:58 -0400)]
Fix syscall cancellation on hppa.

7 years agoRemove _exit entry from sysdeps/unix/sysv/linux/hppa/localplt.data.
John David Anglin [Sun, 16 Jul 2017 15:28:02 +0000 (11:28 -0400)]
Remove _exit entry from sysdeps/unix/sysv/linux/hppa/localplt.data.

7 years agoRemove extra braces from sysdeps/hppa/__longjmp.c.
John David Anglin [Sun, 16 Jul 2017 15:11:31 +0000 (11:11 -0400)]
Remove extra braces from sysdeps/hppa/__longjmp.c.

7 years agoFix [BZ 20098].
John David Anglin [Sun, 16 Jul 2017 14:51:13 +0000 (10:51 -0400)]
Fix [BZ 20098].

7 years agoRegenerate libc.pot
Siddhesh Poyarekar [Sun, 16 Jul 2017 10:00:27 +0000 (15:30 +0530)]
Regenerate libc.pot

7 years agoFix [BZ locale/19838].
John David Anglin [Sat, 15 Jul 2017 16:54:14 +0000 (12:54 -0400)]
Fix [BZ locale/19838].

7 years agoFix guard alignment in allocate_stack when stack grows up.
John David Anglin [Sat, 15 Jul 2017 16:40:13 +0000 (12:40 -0400)]
Fix guard alignment in allocate_stack when stack grows up.

7 years agoFix failing sNaN tests on hppa.
John David Anglin [Sat, 15 Jul 2017 16:18:03 +0000 (12:18 -0400)]
Fix failing sNaN tests on hppa.

7 years agoFix BZ #21654 - grp-merge.c alignment
DJ Delorie [Sat, 15 Jul 2017 01:46:42 +0000 (21:46 -0400)]
Fix BZ #21654 - grp-merge.c alignment

* grp/grp_merge.c (__copy_grp): Align char** to minimum pointer
alignment not char alignment.
(__merge_grp): Likewise.

7 years agoDisable single thread optimization for open_memstream
Szabolcs Nagy [Wed, 12 Jul 2017 09:53:13 +0000 (10:53 +0100)]
Disable single thread optimization for open_memstream

Single thread optimization is valid if at thread creation time the
optimization can be disabled.  This is in principle true for all
stream objects that user code can access (and thus needs locking),
using the same internal list as fflush(0) uses.  However in glibc
open_memstream is not on that list (BZ 21735) so the optimization
has to be disabled.

* libio/memstream.c (__open_memstream): Set _IO_FLAGS2_NEED_LOCK.
* libio/wmemstream.c (open_wmemstream): Likewise.
* nptl/tst-memstream.c: New.

7 years agoFix country name in li_BE and encoding problem in abday in li_BE and li_NL
Mike FABIAN [Fri, 14 Jul 2017 07:24:50 +0000 (09:24 +0200)]
Fix country name in li_BE and encoding problem in abday in li_BE and li_NL

* locales/li_BE: Fix country name and encoding problem in abday.
* locales/li_NL: Fix encoding problem in abday.

7 years agoNew locale for bi_VU
Akhilesh Kumar [Thu, 13 Jul 2017 09:43:46 +0000 (15:13 +0530)]
New locale for bi_VU

[BZ #21767]
* locales/bi_VU: new file.
* localedata/SUPPORTED: Add bi_VU/UTF-8.

7 years agoAdded yesstr and nostr for aa_ET
Akhilesh Kumar [Thu, 13 Jul 2017 10:17:18 +0000 (15:47 +0530)]
Added yesstr and nostr for aa_ET

[BZ #21768]
* locales/aa_ET (LC_MESSAGES): Added yesstr and nostr.

7 years agoFix wrong bug number in localedata/ChangeLog
Mike FABIAN [Thu, 13 Jul 2017 13:59:10 +0000 (15:59 +0200)]
Fix wrong bug number in localedata/ChangeLog

The commit to add the Fiji Hindi locale mentioned

    Bug 21207 - ce_RU: update weekdays from CLDR

which was wrong, correct is:

    Bug 21694 - Current Glibc Locale Does Not Support Tok-Pisin and Fiji Hindi Locale

7 years ago[ARM] Fix ld.so crash when built using Binutils 2.29
Jiong Wang [Thu, 13 Jul 2017 14:48:41 +0000 (15:48 +0100)]
[ARM] Fix ld.so crash when built using Binutils 2.29

There is bug report that ld.so in GLIBC 2.24 built by Binutils 2.29 will crash
on arm-linux-gnueabihf.  This is confirmed, and the details is at:

   https://sourceware.org/bugzilla/show_bug.cgi?id=21725.

As analyzed in the PR, the old code was with the assumption that assembler
won't set bit0 of thumb function address if it comes from PC-relative
instructions and the calculation can be finished during assembling.  This
assumption however does not hold after PR gas/21458.

* sysdeps/arm/dl-machine.h (elf_machine_load_address):  Also strip bit 0
of pcrel_address under Thumb mode.

7 years agoAdded Tongan language locale for Tonga
Akhilesh Kumar [Wed, 12 Jul 2017 10:47:11 +0000 (16:17 +0530)]
Added Tongan language locale for Tonga

[BZ #21728]
* localedata/locales/to_TO: new file
* localedata/SUPPORTED: added to_TO/UTF-8

7 years agoAdded yesstr/nostr and fix yesexpr for pap_AW and pap_CW
Akhilesh Kumar [Wed, 12 Jul 2017 08:06:38 +0000 (13:36 +0530)]
Added yesstr/nostr and fix yesexpr for pap_AW and pap_CW

[BZ #21757]
* locales/pap_AW (LC_MESSAGES): add yesstr and nostr, fix yesexpr
* locales/pap_CW (LC_MESSAGES): add yesstr and nostr, fix yesexpr

7 years agoFix LC_MESSAGES and LC_ADDRESS for anp_IN
Akhilesh Kumar [Wed, 12 Jul 2017 13:38:15 +0000 (19:08 +0530)]
Fix LC_MESSAGES and LC_ADDRESS for anp_IN

[BZ #21760]
* locales/anp_IN (LC_MESSAGES): add yesstr and nostr.
* locales/anp_IN (LC_ADDRESS): add country_name

7 years agoAdded yesstr and nostr for Tigrinya
Akhilesh Kumar [Wed, 12 Jul 2017 11:51:25 +0000 (17:21 +0530)]
Added yesstr and nostr for Tigrinya

[BZ #21759]
* locales/ti_ER (LC_MESSAGES): Add yesstr and nostr.
* locales/ti_ET (LC_MESSAGES): Add yesstr and nostr.

7 years agolocales/om_ET (LC_MESSAGES): add yesstr and nostr.
Mike FABIAN [Wed, 12 Jul 2017 20:01:47 +0000 (22:01 +0200)]
locales/om_ET (LC_MESSAGES): add yesstr and nostr.

7 years agoAdded yesstr/nostr for nds_DE and nds_NL
Akhilesh Kumar [Wed, 12 Jul 2017 09:47:09 +0000 (15:17 +0530)]
Added yesstr/nostr for nds_DE and nds_NL

[BZ #21756]
* locales/nds_DE (LC_MESSAGES): Add yesstr and nostr.
* locales/nds_NL (LC_MESSAGES): Add yesstr and nostr.

7 years agoAdded Fiji Hindi language locale for Fiji
Akhilesh Kumar [Tue, 11 Jul 2017 08:55:43 +0000 (14:25 +0530)]
Added Fiji Hindi language locale for Fiji

[BZ #21207]
* locales/hif_FJ: New file.
* SUPPORTED: Add hif_FJ/UTF-8.
* locale/iso-639.def: Add Fiji Hindi (hif).

7 years agoFix type in sysdeps/hppa/dl-machine.h.
John David Anglin [Thu, 13 Jul 2017 00:02:45 +0000 (20:02 -0400)]
Fix type in sysdeps/hppa/dl-machine.h.

7 years agoCompile tst-ssp-1.c with -fstack-protector-all
H.J. Lu [Tue, 11 Jul 2017 20:40:56 +0000 (13:40 -0700)]
Compile tst-ssp-1.c with -fstack-protector-all

Compile tst-ssp-1.c with -fstack-protector-all in case the the stack
protector heuristics do not instrument a thirty-byte array.

* debug/Makefile (CFLAGS-tst-ssp-1.c): Set to
-fstack-protector-all.

7 years agoNew locale for agr_PE.
Chris Leonard [Mon, 22 Aug 2016 23:26:41 +0000 (19:26 -0400)]
New locale for agr_PE.

[BZ #20496]
* locale/iso-639.def: Add Awajún / Aguaruna (agr).

[BZ #20496]
* SUPPORTED: Add agr_PE.
* locales/agr_PE: New file, Awajún / Aguaruna locale for Peru.

7 years agoAdded Samoan language locale for Samoa
Akhilesh Kumar [Tue, 11 Jul 2017 10:52:29 +0000 (16:22 +0530)]
Added Samoan language locale for Samoa

[BZ #21710]
* locales/sm_WS: New file.
* SUPPORTED: Add sm_WS/UTF-8.

7 years agopowerpc64le: Iterate over all object suffixes when appending -mfloat128
Gabriel F. T. Gomes [Tue, 27 Jun 2017 18:41:12 +0000 (15:41 -0300)]
powerpc64le: Iterate over all object suffixes when appending -mfloat128

On powerpc64le, the compilation of the files related to float128 support
requires the option -mfloat128 to be passed to gcc.  However, not all
possible object suffixes were covered in the Makefile.  This patch uses
$(all-object-suffixes) in all remaining rules.

Tested for powerpc64le.

* sysdeps/powerpc/powerpc64le/Makefile: Use $(all-object-suffixes)
to iterate over all possible object suffixes.  Add a comment
explaining the use of sysdep-CFLAGS instead of CFLAGS.

7 years agoAvoid backtrace from __stack_chk_fail [BZ #12189]
H.J. Lu [Tue, 11 Jul 2017 14:44:01 +0000 (07:44 -0700)]
Avoid backtrace from __stack_chk_fail [BZ #12189]

__stack_chk_fail is called on corrupted stack.  Stack backtrace is very
unreliable against corrupted stack.  __libc_message is changed to accept
enum __libc_message_action and call BEFORE_ABORT only if action includes
do_backtrace.  __fortify_fail_abort is added to avoid backtrace from
__stack_chk_fail.

[BZ #12189]
* debug/Makefile (CFLAGS-tst-ssp-1.c): New.
(tests): Add tst-ssp-1 if -fstack-protector works.
* debug/fortify_fail.c: Include <stdbool.h>.
(_fortify_fail_abort): New function.
(__fortify_fail): Call _fortify_fail_abort.
(__fortify_fail_abort): Add a hidden definition.
* debug/stack_chk_fail.c: Include <stdbool.h>.
(__stack_chk_fail): Call __fortify_fail_abort, instead of
__fortify_fail.
* debug/tst-ssp-1.c: New file.
* include/stdio.h (__libc_message_action): New enum.
(__libc_message): Replace int with enum __libc_message_action.
(__fortify_fail_abort): New hidden prototype.
* malloc/malloc.c (malloc_printerr): Update __libc_message calls.
* sysdeps/posix/libc_fatal.c (__libc_message): Replace int
with enum __libc_message_action.  Call BEFORE_ABORT only if
action includes do_backtrace.
(__libc_fatal): Update __libc_message call.

7 years agoposix: Add p{read,write}v2 RWF_NOWAIT flag (BZ#21738)
Adhemerval Zanella [Mon, 10 Jul 2017 18:53:32 +0000 (15:53 -0300)]
posix: Add p{read,write}v2 RWF_NOWAIT flag (BZ#21738)

Linux 4.12 (b745fafaf70c0a98a2e1e7ac8cb14542889ceb0e) adds a new
p{read,write}v2 flag RWF_NOWAIT.  This patch adds it for linux
uio-ext.h header.

Checked on x86_64-linux-gnu (on a 4.10 kernel).

[BZ #21738]
* manual/llio.texi (RWF_NOWAIT): New item.
* misc/tst-preadvwritev2-common.c (do_test_with_invalid_flags):
Add RWF_NOWAIT check.
* sysdeps/unix/sysv/linux/bits/uio-ext.h (RWF_NOWAIT): New flag.

7 years agoFixed abday for ar_JO/ar_LB/ar_SY
Akhilesh Kumar [Tue, 11 Jul 2017 08:19:17 +0000 (13:49 +0530)]
Fixed abday for ar_JO/ar_LB/ar_SY

[BZ #21749]
* locales/ar_JO (LC_TIME): Fix abday
* locales/ar_LB (LC_TIME): Fix abday
* locales/ar_SY (LC_TIME): Fix abday

7 years agoFix abday for ar_SA
Akhilesh Kumar [Tue, 11 Jul 2017 10:46:39 +0000 (12:46 +0200)]
Fix abday for ar_SA

[BZ #21748, BZ #19066]
        * locales/ar_SA (LC_TIME): Fix abday

7 years agoS390: Fix tst-ptrace-singleblock if kernel does not support PTRACE_SINGLEBLOCK.
Stefan Liebler [Tue, 11 Jul 2017 08:37:03 +0000 (10:37 +0200)]
S390: Fix tst-ptrace-singleblock if kernel does not support PTRACE_SINGLEBLOCK.

The request PTRACE_SINGLEBLOCK was introduced in Linux 3.15.  Thus the ptrace call
will fail on older kernels.
Thus the test is now testing PTRACE_SINGLEBLOCK with data argument pointing to a
buffer on stack which is assumed to fail.  If the request would be interpreted as
PTRACE_GETREGS, then the ptrace call will not fail and the regs are written to buf.

If we run with a kernel with support for PTRACE_SINGLEBLOCK a ptrace call with
data=NULL, returns zero with no error.  If we run with a kernel without support for
PTRACE_SINGLEBLOCK a ptrace call with data=NULL reports an error.
In the latter case, the test is just continuing with PTRACE_CONT.

ChangeLog:

* sysdeps/unix/sysv/linux/s390/tst-ptrace-singleblock.c:
Support running on kernels without PTRACE_SINGLEBLOCK.

7 years agolocaledata: da_DK: set date_fmt [BZ #17297]
Eyolf Østrem [Fri, 10 Jun 2016 16:11:04 +0000 (12:11 -0400)]
localedata: da_DK: set date_fmt [BZ #17297]

The default setting is slightly off for Danish users -- the day and
month displays should be swapped: "Jun 10" -> "10 Jun".

7 years agoAdded yesstr and nostr to zh_HK locale
Akhilesh Kumar [Mon, 10 Jul 2017 03:41:56 +0000 (09:11 +0530)]
Added yesstr and nostr to zh_HK locale

yesstr and nostr  are missing for zh_HK language locale

[BZ #21733]
* locales/zh_HK (LC_MESSAGES): add yesstr and nostr

7 years agoFix abday strings for ks_IN@devanagari to match the day strings
Akhilesh Kumar [Mon, 10 Jul 2017 03:27:28 +0000 (08:57 +0530)]
Fix abday strings for ks_IN@devanagari to match the day strings

Hindi language is similar to Kashmiri(devanagari) language.

[BZ #21743]
* locales/ks_IN@devanagari (LC_TIME): Fixed abday strings

7 years agoDon't include _dl_resolve_conflicts in libc.a [BZ #21742]
H.J. Lu [Sun, 9 Jul 2017 18:52:33 +0000 (11:52 -0700)]
Don't include _dl_resolve_conflicts in libc.a [BZ #21742]

Since _dl_resolve_conflicts is only used in elf/rtld.c, don't include
it in libc.a.

[BZ #21742]
* elf/Makefile (dl-routines): Move dl-conflict to ...
(rtld-routines): Here.

7 years agox86-64: Test memmove_chk and memset_chk only in libc.so [BZ #21741]
H.J. Lu [Mon, 10 Jul 2017 11:44:24 +0000 (04:44 -0700)]
x86-64: Test memmove_chk and memset_chk only in libc.so [BZ #21741]

Since there are no multiarch versions of memmove_chk and memset_chk,
test multiarch versions of memmove_chk and memset_chk only in libc.so.

[BZ #21741]
* sysdeps/x86_64/multiarch/ifunc-impl-list.c
(__libc_ifunc_impl_list): Test memmove_chk and memset_chk only
in libc.so.

7 years agoAdd iI and eE to yesexpr and noexpr respectively for ts_ZA
Mike FABIAN [Mon, 10 Jul 2017 07:00:45 +0000 (09:00 +0200)]
Add iI and eE to  yesexpr and noexpr respectively for ts_ZA

7 years agoUpdate hppa ulps.
John David Anglin [Sun, 9 Jul 2017 19:22:41 +0000 (15:22 -0400)]
Update hppa ulps.

7 years agoUse generic pthread support on hppa.
John David Anglin [Sun, 9 Jul 2017 19:01:11 +0000 (15:01 -0400)]
Use generic pthread support on hppa.

7 years agox86-64: Update comments in IFUNC selectors
H.J. Lu [Sun, 9 Jul 2017 18:42:50 +0000 (11:42 -0700)]
x86-64: Update comments in IFUNC selectors

* sysdeps/x86_64/multiarch/memcmp.c: Update comments.
* sysdeps/x86_64/multiarch/memmove.c: Likewise.
* sysdeps/x86_64/multiarch/memrchr.c: Likewise.
* sysdeps/x86_64/multiarch/memset.c: Likewise.
* sysdeps/x86_64/multiarch/rawmemchr.c: Likewise.
* sysdeps/x86_64/multiarch/strchrnul.c: Likewise.
* sysdeps/x86_64/multiarch/strlen.c: Likewise.
* sysdeps/x86_64/multiarch/strnlen.c: Likewise.
* sysdeps/x86_64/multiarch/wcschr.c: Likewise.
* sysdeps/x86_64/multiarch/wcscpy.c: Likewise.
* sysdeps/x86_64/multiarch/wcslen.c: Likewise.
* sysdeps/x86_64/multiarch/wcsnlen.c: Likewise.
* sysdeps/x86_64/multiarch/wmemchr.c: Likewise.
* sysdeps/x86_64/multiarch/wmemcmp.c: Likewise.
* sysdeps/x86_64/multiarch/wmemset.c: Likewise.
* sysdeps/x86_64/multiarch/wmemset_chk.c: Likewise.

7 years agox86-64: Update comments in ifunc-impl-list.c
H.J. Lu [Sun, 9 Jul 2017 18:38:37 +0000 (11:38 -0700)]
x86-64: Update comments in ifunc-impl-list.c

All x86-64 IFUNC selectors are written in C now.  Update comments to
reflect it.

* sysdeps/x86_64/multiarch/ifunc-impl-list.c: Update comments.

7 years agoFix BZ #21049.
John David Anglin [Sun, 9 Jul 2017 17:48:04 +0000 (13:48 -0400)]
Fix BZ #21049.

7 years agobuild-many-glibcs.py: also build profiled objects
Andreas Schwab [Sat, 8 Jul 2017 19:08:34 +0000 (21:08 +0200)]
build-many-glibcs.py: also build profiled objects

7 years agoAdded yesstr/nostr for kw_GB
Akhilesh Kumar [Fri, 7 Jul 2017 12:31:49 +0000 (18:01 +0530)]
Added yesstr/nostr for kw_GB

[BZ #21734]
* locales/kw_GB (LC_MESSAGES): add yesstr and nostr

7 years agoAdded missing yesstr and nostr for Tsonga language locale [LC_MESSAGES]
Akhilesh Kumar [Fri, 7 Jul 2017 03:58:53 +0000 (09:28 +0530)]
Added  missing yesstr and nostr for Tsonga language locale [LC_MESSAGES]

[BZ #21727]
* locales/ts_ZA(LC_MESSAGES): add yesstr and nostr

Signed-off-by: Akhilesh Kumar <akhilesh.k@samsung.com>
7 years agoFix LC_NAME for hi_IN
Akhilesh Kumar [Fri, 7 Jul 2017 07:24:22 +0000 (12:54 +0530)]
Fix LC_NAME for hi_IN

During Hindi Locale review I found many fields are incorrect

[BZ #21729]
* locales/hi_IN (LC_NAME): Fix name_mr, name_mrs, name_miss, name_ms

Signed-off-by: Akhilesh Kumar <akhilesh.k@samsung.com>
7 years agoyesstr/nostr missing for Xhosa language locale
Akhilesh Kumar [Thu, 6 Jul 2017 09:31:17 +0000 (15:01 +0530)]
yesstr/nostr missing for Xhosa language locale

During Locale verification I observed that
yesstr and nostr  are missing for Xhosa language locale
for South Africa

[BZ #21724]
* locales/xh_ZA (LC_MESSAGES): add yesstr and nostr

Signed-off-by: Akhilesh Kumar <akhilesh.k@samsung.com>
7 years agoAdd yesstr and nostr to zh_CN locale
Peng Wu [Thu, 6 Jul 2017 09:03:56 +0000 (14:33 +0530)]
Add yesstr and nostr to zh_CN locale

[BZ #21723]
* locales/zh_CN (LC_MESSAGES): add yesstr and nostr

7 years agoIncorrect Full Weekday names for ks_IN@devanagari
Akhilesh Kumar [Thu, 6 Jul 2017 08:06:35 +0000 (13:36 +0530)]
Incorrect Full Weekday names for ks_IN@devanagari

During Locale verification I observed that
Incorrect Full Weekday names for ks_IN@devanagari
Reference is taken from
http://www.mkraina.com/PDF/3-Self-authored%20Works%20(English)/15.pdf

And kashmiri devanagari travel book and other sources

[BZ #21721]
* locales/ks_IN@devanagari: Full weekday name Fix.

Signed-off-by: Akhilesh Kumar <akhilesh.k@samsung.com>
7 years ago* manual/tunables.texi: Add missing @end deftp.
DJ Delorie [Thu, 6 Jul 2017 23:54:13 +0000 (19:54 -0400)]
* manual/tunables.texi: Add missing @end deftp.

7 years agoresolv: Deal with non-deterministic address order in tst-resolv-basic
Florian Weimer [Thu, 6 Jul 2017 12:03:39 +0000 (14:03 +0200)]
resolv: Deal with non-deterministic address order in tst-resolv-basic

7 years agoAdd per-thread cache to malloc
DJ Delorie [Thu, 6 Jul 2017 17:37:30 +0000 (13:37 -0400)]
Add per-thread cache to malloc

* config.make.in: Enable experimental malloc option.
* configure.ac: Likewise.
* configure: Regenerate.
* manual/install.texi: Document it.
* INSTALL: Regenerate.
* malloc/Makefile: Likewise.
* malloc/malloc.c: Add per-thread cache (tcache).
(tcache_put): New.
(tcache_get): New.
(tcache_thread_freeres): New.
(tcache_init): New.
(__libc_malloc): Use cached chunks if available.
(__libc_free): Initialize tcache if needed.
(__libc_realloc): Likewise.
(__libc_calloc): Likewise.
(_int_malloc): Prefill tcache when appropriate.
(_int_free): Likewise.
(do_set_tcache_max): New.
(do_set_tcache_count): New.
(do_set_tcache_unsorted_limit): New.
* manual/probes.texi: Document new probes.
* malloc/arena.c: Add new tcache tunables.
* elf/dl-tunables.list: Likewise.
* manual/tunables.texi: Document them.
* NEWS: Mention the per-thread cache.

7 years agoIncrease some test timeouts.
Joseph Myers [Thu, 6 Jul 2017 17:01:03 +0000 (17:01 +0000)]
Increase some test timeouts.

This patch increases the timeouts for some tests that I've seen timing
out on slow systems in my 2.26 release testing.  (In the case of
tst-tsearch.c, increasing the timeout means removing a setting of 10
that was put there before the default timeout was increased to 20
seconds, so putting the default into effect.)

* iconvdata/tst-loading.c (TIMEOUT): Define to 30.
* misc/tst-tsearch.c (TIMEOUT): Remove.
* nptl/tst-create-detached.c (TIMEOUT): Define to 100.
* nptl/tst-robust-fork.c (TIMEOUT): Likewise.
* nptl/tst-rwlock19.c (TIMEOUT): Likewise.
* string/tst-cmp.c (TIMEOUT): Define to 600.

7 years agoArabic scripts: More fixes after the recent import.
Rafal Luzynski [Sat, 1 Jul 2017 00:22:37 +0000 (02:22 +0200)]
Arabic scripts: More fixes after the recent import.

After the recent import of month names from CLDRv31 (bug 21217,
commit c853f14) more imports are also needed, mostly abbreviated month
names.

This patch also updates May (full month name) in ps_AF which was
skipped in the previous patch.

Incidentally, this import fixes bug 17225 (ar_SY) and partially
bug 19066 (ar_SA).

CLDR currently has a bug in the full month name for October for ar_IQ, see
http://unicode.org/cldr/trac/ticket/10460

* localedata/locales/ar_DZ (abmon): Full import from CLDR, abmon
is no longer abbreviated.
* localedata/locales/ar_IQ (abmon): Likewise.
* localedata/locales/ar_MA (abmon): Likewise.
* localedata/locales/ar_TN (abmon): Likewise.
* localedata/locales/ps_AF (abmon): Likewise.
* localedata/locales/ug_CN (abmon): Likewise.
* localedata/locales/ar_SA (abmon): Likewise, partially
fixes bug 19066.
* localedata/locales/ks_IN (abmon): A copy of mon.
* localedata/locales/ur_IN (abmon): Oct reworded "اكتوبر" to
"اکتوبر" (same change as mon).
* localedata/locales/ur_PK (abmon): Same changes as mon applied.

* localedata/locales/ps_AF (mon): May reworded "می" to "مۍ".

[BZ #17225]
* localedata/locales/ar_SY (abmon): May reworded "نوار" to
"أيار", this closes bug 17225.
* localedata/locales/ar_JO (abmon): Likewise.
* localedata/locales/ar_LB (abmon): Likewise.

7 years agonptl: Fix typo on __have_pthread_attr_t (BZ#21715)
Matthew Krupcale [Thu, 6 Jul 2017 13:22:20 +0000 (10:22 -0300)]
nptl: Fix typo on __have_pthread_attr_t (BZ#21715)

This patch fixes some build issues when including types/sigevent_t.h
along with bits/pthreadtypes.h.

Checked on x86_64-linux-gnu and on a build on supported major ABIs.

[BZ #21715]
* sysdeps/nptl/bits/pthreadtypes.h (__have_pthread_attr_t): Fix typo
on definition.

7 years agox86-64: Align the stack in __tls_get_addr [BZ #21609]
H.J. Lu [Thu, 6 Jul 2017 11:43:06 +0000 (04:43 -0700)]
x86-64: Align the stack in __tls_get_addr [BZ #21609]

This change forces realignment of the stack pointer in __tls_get_addr, so
that binaries compiled by GCCs older than GCC 4.9:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58066

continue to work even if vector instructions are used in glibc which
require the ABI stack realignment.

__tls_get_addr_slow is added to handle the slow paths in the default
implementation of__tls_get_addr in elf/dl-tls.c.  The new __tls_get_addr
calls __tls_get_addr_slow after realigning the stack.  Internal calls
within ld.so go directly to the default implementation of __tls_get_addr
because they do not need stack realignment.

[BZ #21609]
* sysdeps/x86_64/Makefile (sysdep-dl-routines): Add tls_get_addr.
(gen-as-const-headers): Add rtld-offsets.sym.
* sysdeps/x86_64/dl-tls.c: New file.
* sysdeps/x86_64/rtld-offsets.sym: Likwise.
* sysdeps/x86_64/tls_get_addr.S: Likewise.
* sysdeps/x86_64/dl-tls.h: Add multiple inclusion guards.
* sysdeps/x86_64/tlsdesc.sym (TI_MODULE_OFFSET): New.
(TI_OFFSET_OFFSET): Likwise.

7 years agoPashto yesstr/nostr locale are missing
Akhilesh Kumar [Wed, 5 Jul 2017 06:47:26 +0000 (12:17 +0530)]
Pashto yesstr/nostr locale are missing

[BZ #21711]
During Locale verification I observed that

yesstr and nostr are missing for Pashto [LC_MESSAGES] Locale

For Afghanistan reference google translate and Pashto travel book.

7 years agoposix: Fix default posix_spawn return value
Adhemerval Zanella [Thu, 29 Jun 2017 15:05:01 +0000 (12:05 -0300)]
posix: Fix default posix_spawn return value

This patch fix the return value for error conditions for default
posix_spawn (where the errno is expected).  It also avoid clobber
errno on fork call.

Checked on x86_64 (with Linux implementation removed).

[BZ# 21697]
* sysdeps/posix/spawni.c (__spawni_child): Fix return value.
(__spawnix): Do not clober errno.

7 years agoFixup localedata/ChangeLog.
Carlos O'Donell [Wed, 5 Jul 2017 18:14:44 +0000 (14:14 -0400)]
Fixup localedata/ChangeLog.

- Rewrite recent entry to follow GNU ChangeLog format.
- Convert spaces to tabs in one case.

7 years agoEdit and shorten float128 NEWS item.
Joseph Myers [Wed, 5 Jul 2017 17:43:58 +0000 (17:43 +0000)]
Edit and shorten float128 NEWS item.

7 years agosupport: Add resolver testing mode which does not patch _res
Florian Weimer [Wed, 5 Jul 2017 15:39:33 +0000 (17:39 +0200)]
support: Add resolver testing mode which does not patch _res

7 years agosupport: Add support_chroot_create and support_chroot_free
Florian Weimer [Wed, 5 Jul 2017 13:38:42 +0000 (15:38 +0200)]
support: Add support_chroot_create and support_chroot_free

7 years agosupport: Check isolation of loopback addresses in tst-support-namespace
Florian Weimer [Wed, 5 Jul 2017 10:53:14 +0000 (12:53 +0200)]
support: Check isolation of loopback addresses in tst-support-namespace

7 years agoAdded Tok-Pisin locale.
Akhilesh Kumar [Wed, 5 Jul 2017 11:52:43 +0000 (17:22 +0530)]
Added Tok-Pisin locale.

[BZ #21694]
Added tok-pisin language locale for Papua New Guinea.

Signed-off-by: Akhilesh Kumar <akhilesh.k@samsung.com>
7 years agoConsistently say "GNU C Library" in NEWS, not "glibc".
Joseph Myers [Wed, 5 Jul 2017 13:46:57 +0000 (13:46 +0000)]
Consistently say "GNU C Library" in NEWS, not "glibc".

7 years agoReorganize and revise NEWS for 2.26.
Zack Weinberg [Wed, 5 Jul 2017 13:03:00 +0000 (09:03 -0400)]
Reorganize and revise NEWS for 2.26.

7 years agoFor Breton yesstr/nostr locale are missing
Akhilesh Kumar [Tue, 4 Jul 2017 05:24:08 +0000 (10:54 +0530)]
For Breton yesstr/nostr locale are missing

[BZ #21706]
During Locale verification i observed that
yesstr and nostr  are missing for Breton [LC_MESSAGES] locale

Signed-off-by: Akhilesh Kumar <akhilesh.k@samsung.com>
7 years agoSingle threaded stdio optimization
Szabolcs Nagy [Tue, 4 Jul 2017 15:05:12 +0000 (16:05 +0100)]
Single threaded stdio optimization

Locking overhead can be significant in some stdio operations
that are common in single threaded applications.

This patch adds the _IO_FLAGS2_NEED_LOCK flag to indicate if
an _IO_FILE object needs to be locked and some of the stdio
functions just jump to their _unlocked variant when not.  The
flag is set on all _IO_FILE objects when the first thread is
created.  A new GLIBC_PRIVATE libc symbol, _IO_enable_locks,
was added to do this from libpthread.

The optimization can be applied to more stdio functions,
currently it is only applied to single flag check or single
non-wide-char standard operations.  The flag should probably
be never set for files with _IO_USER_LOCK, but that's just a
further optimization, not a correctness requirement.

The optimization is valid in a single thread because stdio
operations are non-as-safe (so lock state is not observable
from a signal handler) and stdio locks are recursive (so lock
state is not observable via deadlock).  The optimization is not
valid if a thread may be created while an stdio lock is taken
and thus it should be disabled if any user code may run during
an stdio operation (interposed malloc, printf hooks, etc).
This makes the optimization more complicated for some stdio
operations (e.g. printf), but those are bigger and thus less
important to optimize so this patch does not try to do that.

* libio/libio.h (_IO_FLAGS2_NEED_LOCK, _IO_need_lock): Define.
* libio/libioP.h (_IO_enable_locks): Declare.
* libio/Versions (_IO_enable_locks): New symbol.
* libio/genops.c (_IO_enable_locks): Define.
(_IO_old_init): Initialize flags2.
* libio/feof.c.c (_IO_feof): Avoid locking when not needed.
* libio/ferror.c (_IO_ferror): Likewise.
* libio/fputc.c (fputc): Likewise.
* libio/putc.c (_IO_putc): Likewise.
* libio/getc.c (_IO_getc): Likewise.
* libio/getchar.c (getchar): Likewise.
* libio/ioungetc.c (_IO_ungetc): Likewise.
* nptl/pthread_create.c (__pthread_create_2_1): Enable stdio locks.
* libio/iofopncook.c (_IO_fopencookie): Enable locking for the file.
* sysdeps/pthread/flockfile.c (__flockfile): Likewise.

7 years agosysconf: Use conservative default for _SC_NPROCESSORS_ONLN [BZ #21542]
Florian Weimer [Tue, 4 Jul 2017 14:12:46 +0000 (16:12 +0200)]
sysconf: Use conservative default for _SC_NPROCESSORS_ONLN [BZ #21542]

7 years agoresolv: Fix resolv_conf _res matching
Florian Weimer [Tue, 4 Jul 2017 12:47:29 +0000 (14:47 +0200)]
resolv: Fix resolv_conf _res matching

A dot-less host name without an /etc/resolv.conf file caused an
assertion failure in update_from_conf because the function would not
deal correctly with the empty search list case.

Thanks to Andreas Schwab for debugging assistence.

7 years agoUpdate versions in build-many-glibcs.py.
Joseph Myers [Tue, 4 Jul 2017 10:32:54 +0000 (10:32 +0000)]
Update versions in build-many-glibcs.py.

This patch updates build-many-glibcs.py to use the current release
branch of binutils and current releases of GMP and the Linux kernel.

* scripts/build-many-glibcs.py (Context.checkout): Default
binutils version to 2.29 branch, GMP version to 6.1.2 and Linux
kernel version to 4.12.

7 years agoresolv: Fix improper assert in __resolv_conf_attach
Florian Weimer [Tue, 4 Jul 2017 09:18:34 +0000 (11:18 +0200)]
resolv: Fix improper assert in __resolv_conf_attach

7 years agoresolv: Introduce free list for resolv_conf index slosts
Florian Weimer [Mon, 3 Jul 2017 13:01:34 +0000 (15:01 +0200)]
resolv: Introduce free list for resolv_conf index slosts

7 years agoresolv: Automatically reload a changed /etc/resolv.conf file [BZ #984]
Florian Weimer [Mon, 3 Jul 2017 19:06:23 +0000 (21:06 +0200)]
resolv: Automatically reload a changed /etc/resolv.conf file [BZ #984]

This commit enhances the stub resolver to reload the configuration
in the per-thread _res object if the /etc/resolv.conf file has
changed.  The resolver checks whether the application has modified
_res and will not overwrite the _res object in that case.

The struct resolv_context mechanism is used to check the
configuration file only once per name lookup.

7 years agoresolv: Mirror the entire resolver configuration in struct resolv_conf
Florian Weimer [Fri, 30 Jun 2017 18:19:10 +0000 (20:19 +0200)]
resolv: Mirror the entire resolver configuration in struct resolv_conf

This commit adds the remaining unchanging members (which are loaded
from /etc/resolv.conf) to struct resolv_conf.

The extended name server list is currently not used by the stub
resolver.  The switch depends on a cleanup: The _u._ext.nssocks
array stores just a single socket, and needs to be replaced with
a single socket value.

(The compatibility gethostname implementation does not use the
extended addres sort list, either.  Updating the compat code is
not worthwhile.)

7 years agoresolv: Lift domain search list limits [BZ #19569] [BZ #21475]
Florian Weimer [Fri, 30 Jun 2017 22:53:05 +0000 (00:53 +0200)]
resolv: Lift domain search list limits [BZ #19569] [BZ #21475]

This change uses the extended resolver state in struct resolv_conf to
store the search list.  If applications have not patched the _res
object directly, this extended search list will be used by the stub
resolver during name resolution.

7 years agoresolv: Introduce struct resolv_conf with extended resolver state
Florian Weimer [Mon, 3 Jul 2017 18:31:23 +0000 (20:31 +0200)]
resolv: Introduce struct resolv_conf with extended resolver state

This change provides additional resolver configuration state which
is not exposed through the _res ABI.  It reuses the existing
initstamp field in the supposedly-private part of _res.  Some effort
is undertaken to avoid memory safety issues introduced by applications
which directly patch the _res object.

With this commit, only the initstamp field is moved into struct
resolv_conf.  Additional members will be added later, eventually
migrating the entire resolver configuration.

7 years agoresolv: Introduce struct resolv_context [BZ #21668]
Florian Weimer [Fri, 30 Jun 2017 19:10:23 +0000 (21:10 +0200)]
resolv: Introduce struct resolv_context [BZ #21668]

struct resolv_context objects provide a temporary resolver context
which does not change during a name lookup operation.  Only when the
outmost context is created, the stub resolver configuration is
verified to be current (at present, only against previous res_init
calls).  Subsequent attempts to obtain the context will reuse the
result of the initial verification operation.

struct resolv_context can also be extended in the future to store
data which needs to be deallocated during thread cancellation.

7 years agoresolv: Add preinit tests to resolv/tst-resolv-res_init-skeleton.c
Florian Weimer [Mon, 3 Jul 2017 15:41:19 +0000 (17:41 +0200)]
resolv: Add preinit tests to resolv/tst-resolv-res_init-skeleton.c

7 years agoMore fixes after the recent import from CLDR-31
Rafal Luzynski [Thu, 29 Jun 2017 00:23:28 +0000 (02:23 +0200)]
More fixes after the recent import from CLDR-31

After the recent import of month names from CLDR (bug 21217) more
imports are also needed, mostly abbreviated month names.

* localedata/locales/br_FR (abmon): Reworded "Eve " to "Mezh".

* localedata/locales/fy_NL (abmon): Reworded "Maa" (March) to
"Mrt" and "Maa" (May) to "Mai".

* localedata/locales/lg_UG (abmon): Reworded "Jun" to "Juu".

* localedata/locales/ln_CD (abmon): "yan", "fbl", "msi",
and so on.

* localedata/locales/mn_MN (abmon): "1-р сар", "2-р сар",
"3-р сар", and so on.

* localedata/locales/vi_VN (abmon): Reworded "Th01" to "Thg 1",
"Th02" to "Thg 2" and so on.

* localedata/locales/yo_NG (abday): "Àìkú", "Ajé", "Ìsẹ́gun",
and so on, also comment updated to match the new content.
(day): "Ọjọ́ Àìkú", "Ọjọ́ Ajé", "Ọjọ́ Ìsẹ́gun", and so on.
(abmon): "Ṣẹ́rẹ́", "Èrèlè", "Ẹrẹ̀nà", and so on.
(mon): Comment updated to match the actual content.
(d_t_fmt): Changed "%A" to "%a" and "%B" to "%b".

* localedata/locales/zu_ZA (abmon): "Jan", "Feb", "Mas",
and so on, also comment updated to match the new content.
(mon): comment updated to match the actual content.

7 years agopowerpc: Clean up strlen and strnlen for power8
Rajalakshmi Srinivasaraghavan [Mon, 3 Jul 2017 05:16:13 +0000 (10:46 +0530)]
powerpc: Clean up strlen and strnlen for power8

To align a quadword aligned address to 64 bytes, maximum of three
16 bytes load is needed for worst case instead of loading four times.

7 years agoUse __builtin_popcount in __sched_cpucount [BZ #21696]
H.J. Lu [Sat, 1 Jul 2017 14:29:19 +0000 (07:29 -0700)]
Use __builtin_popcount in __sched_cpucount [BZ #21696]

posix/sched_cpucount.c assumes that size of __cpu_mask == size of long,
which is incorrect for x32.  This patch uses __builtin_popcount, which
is availabe in GCC 4.9, in posix/sched_cpucount.c.

Tested on i686, x86-64 and x32 with multi-arch disabled.

[BZ #21696]
* posix/sched_cpucount.c: Don't include <limits.h>.
(__sched_cpucount): Use __builtin_popcount.

7 years agoFix typo in glibc.tune.cpu name
Siddhesh Poyarekar [Sat, 1 Jul 2017 14:21:44 +0000 (19:51 +0530)]
Fix typo in glibc.tune.cpu name

7 years agofloat128: Add signbit alternative for old compilers
Gabriel F. T. Gomes [Thu, 29 Jun 2017 18:34:05 +0000 (15:34 -0300)]
float128: Add signbit alternative for old compilers

In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
e.g.: __builtin_signbitf128, before GCC 6.  However, there has never
been a __builtin_signbitf128 in GCC and the type-generic builtin is
only available since GCC 6.  For older GCC, this patch defines
__builtin_signbitf128 to __signbitf128, so that the internal function
is used instead of the non-existent builtin.

This patch also changes the implementation of __signbitf128, because
it was reusing the implementation of __signbitl from ldbl-128, which
calls __builtin_signbitl.  Using the long double version of the
builtin is not correct on machines where _Float128 is ABI-distinct
from long double (i.e.: ia64, powerpc64le, x86, x86_84).  The new
implementation does not rely on builtins when being built with GCC
versions older than 6.0.

The new code does not currently affect powerpc64le builds, because
only GCC 6.2 fulfills the requirements from configure.  It might
affect powerpc64le builds if those requirements are backported to
older versions of the compiler.  The new code affects x86_64 builds,
since glibc is supposed to build correctly with older versions of GCC.

Tested for powerpc64le and x86_64.

* include/math.h (__signbitf128): Define as hidden.
* sysdeps/ieee754/float128/s_signbitf128.c (__signbitf128):
Reimplement without builtins.
* sysdeps/ia64/bits/floatn.h [!__GNUC_PREREQ (6, 0)]
(__builtin_signbitf128): Define to __signbitf128.
* sysdeps/powerpc/bits/floatn.h: Likewise.
* sysdeps/x86/bits/floatn.h: Likewise.

7 years agoConsolidate Linux fcntl implementation
Adhemerval Zanella [Mon, 28 Nov 2016 17:18:22 +0000 (15:18 -0200)]
Consolidate Linux fcntl implementation

This patch consolidates the fcntl Linux syscall generation on
sysdeps/unix/sysv/linux/fcntl.c.  It basically removes all the
architecture specific implementations.

Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
aarch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.

* sysdeps/unix/sysv/linux/arm/fcntl.c: Remove file.
* sysdeps/unix/sysv/linux/generic/wordsize-32/fcntl.c: Likewise.
* sysdeps/unix/sysv/linux/hppa/fcntl.c: Likewise.
* sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
* sysdeps/unix/sysv/linux/m68k/fcntl.c: Likewise.
* sysdeps/unix/sysv/linux/microblaze/fcntl.c: Likewise.
* sysdeps/unix/sysv/linux/mips/mips32/fcntl.c: Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/n32/fcntl.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fcntl.c: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/fcntl.c: Likewise.
* sysdeps/unix/sysv/linux/sh/fcntl.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/fcntl.c: Likewise.
* sysdeps/unix/sysv/linux/fcntl.c: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Refactor to
use default implementation.

7 years agotunables, aarch64: New tunable to override cpu
Siddhesh Poyarekar [Fri, 30 Jun 2017 17:28:39 +0000 (22:58 +0530)]
tunables, aarch64: New tunable to override cpu

Add a new tunable (glibc.tune.cpu) to override CPU identification on
aarch64.  This is useful in two cases: one where it is desirable to
pretend to be another CPU for purposes of testing or because routines
written for that CPU are beneficial for specific workloads and second
where the underlying kernel does not support emulation of MRS to get
the MIDR of the CPU.

* elf/dl-tunables.h (tunable_is_name): Move from...
* elf/dl-tunables.c (is_name): ... here.
(parse_tunables, __tunables_init): Adjust.
* manual/tunables.texi: Document glibc.tune.cpu.
* sysdeps/aarch64/dl-tunables.list: New file.
* sysdeps/unix/sysv/linux/aarch64/cpu-features.c (struct
cpu_list): New type.
(cpu_list): New list of CPU names and their MIDR.
(get_midr_from_mcpu): New function.
(init_cpu_features): Override MIDR if necessary.

7 years agoaarch64: Call all string function implementations in tests
Siddhesh Poyarekar [Fri, 30 Jun 2017 17:27:12 +0000 (22:57 +0530)]
aarch64: Call all string function implementations in tests

The string function implementations implemented so far do not use any
instructions that may deviate from standard aarch64, so it is possible
for all routines to run on all armv8 hardware.  Select all
implementations in the benchmarks and tests.

* sysdeps/aarch64/multiarch/ifunc-impl-list.c
(__libc_ifunc_impl_list): Unconditionally select thunderx
routine for testing.