+2017-07-14 DJ Delorie <dj@redhat.com>
+
+ [BZ #21654]
+ * grp/grp_merge.c (__copy_grp): Align char** to minimum pointer
+ alignment not char alignment.
+ (__merge_grp): Likewise.
+
+2017-07-14 Szabolcs Nagy <szabolcs.nagy@arm.com>
+ Florian Weimer <fweimer@redhat.com>
+
+ * libio/memstream.c (__open_memstream): Set _IO_FLAGS2_NEED_LOCK.
+ * libio/wmemstream.c (open_wmemstream): Likewise.
+ * nptl/tst-memstream.c: New.
+
+2017-07-12 Jiong Wang <jiong.wang@arm.com>
+
+ * sysdeps/arm/dl-machine.h (elf_machine_load_address): Also strip bit 0
+ of pcrel_address under Thumb mode.
+
+2017-07-12 Akhilesh Kumar <akhilesh.k@samsung.com>
+
+ [BZ #21207]
+ * locale/iso-639.def: Add Fiji Hindi (hif).
+
+2017-07-12 John David Anglin <danglin@gcc.gnu.org>
+
+ * sysdeps/hppa/dl-machine.h (elf_machine_rela): Fix typo.
+
+2017-07-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * debug/Makefile (CFLAGS-tst-ssp-1.c): Set to
+ -fstack-protector-all.
+
+2017-07-11 Chris Leonard <cjl@sugarlabs.org>
+
+ [BZ #20496]
+ * locale/iso-639.def: Add AwajĂșn / Aguaruna (agr).
+
+2017-07-11 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
+
+ * 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.
+
+2017-07-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ [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.
+
+2017-07-11 Adhemerval Zanella <adhemerval.zanella@linaro.org>
+
+ [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.
+
+2017-07-11 Stefan Liebler <stli@linux.vnet.ibm.com>
+
+ * sysdeps/unix/sysv/linux/s390/tst-ptrace-singleblock.c:
+ Support running on kernels without PTRACE_SINGLEBLOCK.
+
+2017-07-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ [BZ #21742]
+ * elf/Makefile (dl-routines): Move dl-conflict to ...
+ (rtld-routines): Here.
+
+2017-07-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ [BZ #21741]
+ * sysdeps/x86_64/multiarch/ifunc-impl-list.c
+ (__libc_ifunc_impl_list): Test memmove_chk and memset_chk only
+ in libc.so.
+
+2017-07-09 John David Anglin <danglin@gcc.gnu.org>
+
+ * sysdeps/hppa/fpu/libm-test-ulps: Update.
+
+ [BZ #21016]
+ * sysdeps/nptl/bits/thread-shared-types.h (struct __pthread_mutex_s):
+ Fix typo.
+ * sysdeps/unix/sysv/linux/hppa/pthread.h: Include
+ bits/types/struct_timespec.h.
+ (PTHREAD_MUTEX_INITIALIZER): Revise define.
+ (PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP): Likewise.
+ (PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP): Likewise.
+ (PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP): Likewise.
+ (PTHREAD_RWLOCK_INITIALIZER): Likewise.
+ (PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP): Likewise.
+ (PTHREAD_COND_INITIALIZER): Likewise.
+ Remove old definitions.
+ * sysdeps/unix/sysv/linux/hppa/internaltypes.h: Delete.
+ * sysdeps/unix/sysv/linux/hppa/pthread_cond_broadcast.c: Delete.
+ * sysdeps/unix/sysv/linux/hppa/pthread_cond_destroy.c: Delete.
+ * sysdeps/unix/sysv/linux/hppa/pthread_cond_init.c: Delete.
+ * sysdeps/unix/sysv/linux/hppa/pthread_cond_signal.c: Delete.
+ * sysdeps/unix/sysv/linux/hppa/pthread_cond_wait.c: Delete.
+
+2017-07-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * 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.
+
+2017-07-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/x86_64/multiarch/ifunc-impl-list.c: Update comments.
+
+2017-07-09 Helge Deller <deller@gmx.de>
+
+ [BZ #21049]
+ * sysdeps/hppa/__longjmp.c (__longjmp): Move call to CHECK_SP
+ up to avoid clobbering r26.
+
+2017-07-08 Andreas Schwab <schwab@linux-m68k.org>
+
+ * scripts/build-many-glibcs.py (Glibc.build_glibc): Also build
+ profiled objects.
+
+2017-07-06 DJ Delorie <dj@redhat.com>
+
+ * manual/tunables.texi: Add missing @end deftp.
+
+2017-07-06 Florian Weimer <fw@deneb.enyo.de>
+
+ * resolv/tst-resolv-basic.c (test_bug_21295): New function.
+ (do_test): Call it.
+
+2017-07-06 DJ Delorie <dj@redhat.com>
+
+ * 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.
+
+2017-07-06 Joseph Myers <joseph@codesourcery.com>
+
+ * 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.
+
+2017-07-06 Matthew Krupcale <mkrupcale@matthewkrupcale.com>
+
+ [BZ #21715]
+ * sysdeps/nptl/bits/pthreadtypes.h (__have_pthread_attr_t): Fix typo
+ on definition.
+
+2017-07-06 Florian Weimer <fweimer@redhat.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ [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.
+
+2017-07-05 Adhemerval Zanella <adhemerval.zanella@linaro.org>
+
+ [BZ# 21697]
+ * sysdeps/posix/spawni.c (__spawni_child): Fix return value.
+
+2017-07-05 Florian Weimer <fweimer@redhat.com>
+
+ * resolv/Makefile (tests-internal): Add tst-resolv-threads.
+ (tst-resolv-threads): Link with -ldl, -lresolv, -lpthread.
+ * resolv/tst-resolv-threads.c: New file.
+
+2017-07-05 Florian Weimer <fweimer@redhat.com>
+
+ support: Add resolver testing mode which does not patch _res.
+ * support/resolv_test.h (struct resolv_redirect_config): Add
+ disable_redirect, server_address_overrides.
+ * support/resolv_test.c (make_server_sockets_for_address): New
+ function.
+ (resolv_test_start): Call it.
+
+2017-07-05 Florian Weimer <fweimer@redhat.com>
+
+ * support/namespace.h (struct support_chroot_configuration)
+ (struct support_chroot): Define.
+ (support_chroot_create, support_chroot_free): New functions.
+ * support/support_chroot.c: New file.
+ * support/Makefile (libsupport-routines): Add support_chroot.
+ * resolv/tst-resolv-res_init-skeleton.c (path_chroot)
+ (path_resolv_conf): Remove definitions.
+ (chroot_env): New variable.
+ (prepare): Call support_chroot_create.
+ (check_chroot_working, setup_nss_dns_and_chroot, run_res_init)
+ (special_test_callback, do_test): Likewise.
+
+2017-07-05 Florian Weimer <fweimer@redhat.com>
+
+ Add subtest to check isolation of multiple loopback addresses.
+ * support/tst-support-namespace.c (test_localhost_bind): New function.
+ (do_test): Call it.
+
+2017-07-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * 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.
+
+2017-07-04 Florian Weimer <fweimer@redhat.com>
+
+ [BZ #21542]
+ * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Default to
+ two if no accurate information is available.
+ * posix/tst-sysconf-empty-chroot.c: New file.
+ * posix/Makefile (tests): Add it.
+
+2017-07-04 Florian Weimer <fweimer@redhat.com>
+
+ * resolv/resolv_conf.c (resolv_conf_matches): Tighten check for name
+ server and sort list counts. Fix improper check for empty search
+ path (completely missing domain name) leading to assertion failure
+ in update_from_conf.
+ * resolv/tst-resolv-res_init-skeleton.c (struct test_case): Add
+ hostname member.
+ (run_res_init): Set host name if requested.
+ (test_cases): Update.
+
+2017-07-04 Joseph Myers <joseph@codesourcery.com>
+
+ * 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.
+
+2017-07-04 Florian Weimer <fweimer@redhat.com>
+
+ * resolv/resolv_conf.c (struct resolv_conf_global): Clarify free
+ list management and the role of free_list_start.
+ (decrement_at_index): Put zero at the end of the free list.
+ (__resolv_conf_attach): Fix bogus assert.
+ * resolv/Makefile (tests): Add tst-resolv-res_init-multi.
+ (tst-resolv-res_init-multi): Link with -lresolv, -lpthread.
+
+2017-07-03 Florian Weimer <fweimer@redhat.com>
+
+ resolv: Introduce free list for resolv_conf index slosts.
+ * resolv/resolv_conf.c (struct resolv_conf_array): Change element
+ type to uintptr_t.
+ (struct resolv_conf_global): Add free_list_start member.
+ (resolv_conf_get_1): Check for free list entry.
+ (decrement_at_index): Put freed slot on the free list.
+ (__resolv_conf_attach): Obtain new slot from the free list.
+ * resolv/tst-resolv-res_ninit.c: New file.
+ * resolv/Makefile (tests-internal): Add tst-resolv-res_ninit.
+ (tests-special): Add mtrace-tst-resolv-res_ninit.out.
+ (generated): Add mtrace-tst-resolv-res_ninit.out,
+ tst-resolv-res_ninit.mtrace.
+ (mtrace-tst-resolv-res_ninit.out): Add target.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ [BZ #984]
+ Reload /etc/resolv.conf if has been changed on disk.
+ * resolv/resolv_conf.h (resolv_conf): Remove initstamp member.
+ (__resolv_conf_load, __resolv_conf_get_current): Declare.
+ * resolv/resolv_conf.c (struct resolv_conf_global): Add
+ conf_current, conf_mtime, conf_ctime, conf_size, conf_ino members.
+ (__resolv_conf_get_current): New function.
+ (__resolv_conf_allocate): Do not initialize initstamp.
+ (freeres): Deallocate global->conf_current.
+ * resolv/resolv.h (RES_NORELOAD): Define.
+ * resolv/res_debug.c (p_option): Add RES_NORELOAD.
+ * resolv/resolv-internal.h (__res_initstamp): Remove declaration.
+ * resolv/resolv_context.c (replicated_configuration_matches): New.
+ (maybe_init): Call it. Use __resolv_conf_get_current to obtain
+ the current configration.
+ * resolv/res_init.c (__res_initstamp): Remove variable definition.
+ (has_preinit_values): New function.
+ (__resolv_conf_load): Renamed from __res_vinit. Drop res_state
+ parameter and do not call __resolv_conf_attach.
+ (__res_vinit): Reimplement based __resolv_conf_load.
+ (res_options): Handle no-reload.
+ * resolv/res_libc.c (atomicinclock, atomicincunlock, atomicinc)
+ (lock): Remove.
+ (res_int): Do not update __res_initstamp.
+ * resolv/tst-resolv-res_init-skeleton.c (print_resp): Handle
+ RES_NORELOAD.
+ (test_cases): Test no-reload.
+ (special_test_call_res_init): Remove.
+ (special_test_callback): Rely on automated reloading. Add tests
+ for no-reload.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ Mirror the entire resolver configuration in struct resolv_conf.
+ * resolv/resolv_context.h (__resolv_context_nameserver_count)
+ (__resolv_context_nameserver): New functions.
+ (__resolv_context_sort_count, __resolv_context_sort_entry):
+ Likewise.
+ * resolv/nss_dns/dns-host.c (getanswer_r): Add struct
+ resolv_context parameter.
+ (gethostbyname3_context, _nss_dns_gethostbyaddr2_r): Adjust.
+ (addrsort): Switch to struct resolv_context.
+ * resolv/resolv_conf.h (struct resolv_sortlist_entry): Define.
+ (struct resolv_conf): Add nameserver_list, nameserver_list_size,
+ sort_list, sort_list_size, options, retrans, retry, ndots members.
+ * resolv/resolv_conf.c (same_address_v4, same_address_v6)
+ (same_address): New functions.
+ (resolv_conf_matches): Compare the new array members.
+ (__resolv_conf_allocate): Allocate and copy the new array members.
+ (update_from_conf): Copy the entire configuration.
+ * resolv/res_init.c (struct nameserver_list, struct sort_list):
+ Define using dynarray.
+ (struct resolv_conf_parser): Add nameserver_list, sort_list,
+ template members.
+ (resolv_conf_parser_init): Add preinit argument. Initialize the
+ new members.
+ (resolv_conf_parser_free): Deallocate the new arrays.
+ (allocate_address_v4): New function.
+ (res_setoptions): Switch to struct resolv_conf_parser * parameter.
+ (res_vinit_1): Drop res_state parameter. Write all parsed date to
+ the parser object instead. Use allocate_address_v4 to allocate
+ IPv4 addresses.
+ (__res_vinit): Adjust.
+ * resolv/tst-resolv-res_init-skeleton.c (print_resp): Print the
+ extended name server list.
+ (test_cases): Adjust.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ [BZ #19569]
+ [BZ #21475]
+ Support an arbitrary number of search domains.
+ * resolv/resolv_context.h (__resolv_context_search_list): New.
+ * resolv/resolv_conf.h (struct resolv_conf): Add search_list,
+ search_list_size members.
+ * resolv/resolv_conf.c (resolv_conf_matches): Compare search list.
+ (__resolv_conf_allocate): Allocate and and copy search list.
+ (update_from_conf): Copy the search list.
+ * resolv/res_init.c (struct search_list): Define using dynarray.
+ (struct resolv_conf_parser): Define.
+ (resolv_conf_parser_init, resolv_conf_parser_free)
+ (domain_from_hostname): New functions.
+ (res_vinit_1): Add struct resolv_conf_parser * parameter. Use
+ struct search_list to collect search list entries. Call
+ domain_from_hostname to obtain the fallback domain name.
+ (__res_vinit): Create and destroy parser object. Pass search list
+ to __resolv_conf_allocate.
+ * resolv/res_query.c (__res_context_search): Use
+ __resolv_context_search_list to obtain search list entries.
+ * resolv/tst-resolv-res_init-skeleton.c (print_resp): Print data
+ from extended resolver context.
+ (test_cases): Update.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ Add extended resolver state/configuration (struct resolv_conf).
+ * resolv/resolv_conf.h, resolv/resolv_conf.c: New files.
+ * resolv/res-close.c (__res_iclose): Call __resolv_conf_detach.
+ * resolv/res_init.c (res_vinit_1): Do not initialize initstamp.
+ (__res_vinit): Call __resolv_conf_allocate and
+ __resolv_conf_attach.
+ * resolv/resolv_context.h (struct resolv_context): Add conf member
+ of type struct resolv_conf.
+ * resolv/resolv_context.c (maybe_init): Get initstamp from struct
+ resolv_conf. Update conf member after initialization.
+ * resolv/Makefile (routines): Add resolv_conf.
+ * resolv/bits/types/res_state.h [_LIBC] (struct __res_state):
+ Rename _u._ext.initstamp to _u._ext.__glibc_extension_index.
+ [!_LIBC] (struct __res_state): Rename _u._ext._initstamp to
+ _u._ext.__glibc_reserved.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ [BZ #21668]
+ Introduce temporary resolver contexts (struct resolv_conf).
+ * resolv/resolv-internal.h (__res_context_mkquery)
+ (__res_context_searchl __res_context_query, __res_context_send)
+ (__res_context_hostalias): Declare.
+ (__res_nopt): Switch to struct resolv_context.
+ * resolv/res_use_inet6.h: New file.
+ * resolv/resolv_context.h: Likewise.
+ * resolv/resolv_context.c: Likewise.
+ * resolv/compat-gethnamaddr.c (res_gethostbyname2_context):
+ Renamed from res_gethostbyname2. Use struct resolv_context.
+ (res_gethostbyname2): New function. Implement using
+ res_gethostbyname2_context.
+ (res_gethostbyaddr_context): Renamed from res_gethostbyaddr. Use
+ struct resolv_context.
+ (res_gethostbyaddr): New function. Implement using
+ res_gethostbyaddr_context.
+ * resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Use struct
+ resolv_context.
+ * resolv/nss_dns/dns-host.c (gethostbyname3_context): Renamed from
+ _nss_dns_gethostbyname3_r. Use struct resolv_context.
+ (_nss_dns_gethostbyname3_r): Implement using gethostbyname3_context.
+ (_nss_dns_gethostbyname_r, _nss_dns_gethostbyname4_r): Likewise.
+ (_nss_dns_gethostbyaddr2_r): Use struct resolv_context.
+ * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r)
+ (_nss_dns_getnetbyaddr_r): Likewise.
+ * resolv/res-close.c (res_thread_freeres): Call
+ __resolv_context_freeres.
+ * resolv/res_libc.c (__res_maybe_init): Remove function. Moved to
+ maybe_init in resolv/resolv_context.c.
+ * resolv/res_mkquery.c (__res_context_mkquery): Rename from
+ res_nmkquery. Use struct resolv_context.
+ (context_mkquery_common): New function.
+ (res_nmkquery, res_mkquery): Use it.
+ (res_nopt): Switch to struct resolv_context.
+ * resolv/res_query.c (__res_context_querydomain): Renamed from
+ __libc_res_nquerydomain. Use struct resolv_context.
+ (__res_context_query): Renamed from __libc_res_nquery. Use struct
+ resolv_context.
+ (context_query_common): New function.
+ (res_nquery, res_query): Use it.
+ (__res_context_search): Renamed from __libc_res_nsearch. Use
+ struct resolv_context.
+ (context_search_common): New function.
+ (res_nsearch, res_search): Use it.
+ (__res_context_querydomain): Rename from __libc_res_nquerydomain.
+ Use struct resolv_context.
+ (context_querydomain_common): New function.
+ (res_nquerydomain, res_querydomain): Use it.
+ (__res_context_hostalias): Rename from res_hostalias. Use struct
+ resolv_context.
+ (context_hostalias_common): New function.
+ (res_hostalias, hostalias): Use it.
+ * resolv/res_send.c (__res_context_send): Renamed from
+ __libc_res_nsend. Use struct resolv_context.
+ (context_send_common): New function.
+ (res_nsend, res_send): Use it.
+ * resolv/Makefile (routines): Add resolv_context.
+ * resolv/Versions (libc): Export __resolv_context_get,
+ __resolv_context_get_preinit, __resolv_context_get_override,
+ __resolv_context_put. Remove __res_maybe_init.
+ (libresolv): Export __res_context_query, __res_context_search,
+ __res_context_hostalias. Remove __libc_res_nquery,
+ __libc_res_nsearch.
+ * include/resolv.h (__res_maybe_init, __libc_res_nquery)
+ (__libc_res_nsearch, __libc_res_nsend): Remove declaration.
+ (__hostalias, __res_nmkquery, __res_nquery, __res_nquerydomain)
+ (__res_hostalias, __res_nsearch, __res_nsend): Remove hidden
+ prototypes.
+ * nss/nsswitch.h (__nss_hostname_digits_dots_context): Declare.
+ * nss/digits_dots.c (__nss_hostname_digits_dots_context): Renamed
+ from __nss_hostname_digits_dots. Use struct resolv_context.
+ (__nss_hostname_digits_dots): New function.
+ * nss/getXXbyYY.c [HANDLE_DIGITS_DOTS] (FUNCTION_NAME): Acquire
+ struct resolv_context object. Call new function
+ __nss_hostname_digits_dots_context.
+ * nss/getXXbyYY_r.c (REENTRANT_NAME): Use struct resolv_context.
+ * nss/getnssent_r.c (__nss_setent): Likewise.
+ * nscd/aicache.c (addhstaiX): Use struct resolv_context,
+ __resolv_context_disable_inet6 and __resolv_context_enable_inet6
+ instead of direct _res manipulation.
+ * sysdeps/posix/getaddrinfo.c (gethosts, gaih_inet): Likewise.
+
+2017-07-03 Florian Weimer <fweimer@redhat.com>
+
+ * resolv/tst-resolv-res_init-skeleton.c
+ (special_tests_count, special_test_call_res_init)
+ (special_test_callback, special_test_thread_func)
+ (run_special_test_on_thread, special_test): Define.
+ (do_test): call special_test.
+ (test_init_names): Fix typo.
+
+2017-07-03 Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com>
+
+ * sysdeps/powerpc/powerpc64/power8/strlen.S: Remove unreachable code.
+ * sysdeps/powerpc/powerpc64/power8/strnlen.S: Likewise.
+
+2017-07-01 Florian Weimer <fweimer@redhat.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ [BZ #21696]
+ * posix/sched_cpucount.c: Don't include <limits.h>.
+ (__sched_cpucount): Use __builtin_popcount.
+
+2017-07-01 Ramana Radhakrishnan <ramana.gcc@googlemail.com>
+
+ * sysdeps/unix/sysv/aarch64/cpu-features.c (init_cpu_features):
+ Fix typo.
+
+2017-06-30 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
+
+ * 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.
+
+2017-06-30 Adhemerval Zanella <adhemerval.zanella@linaro.org>
+
+ * 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 (do_fcntl): Rename to
+ fcntl_common and add check for F_GETOWN.
+ (__libc_fcntl): Use SYSCALL_CANCEL macro.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Refactor to
+ use default implementation.
+
+2017-06-30 Siddhesh Poyarekar <siddhesh@sourceware.org>
+
+ * 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.
+
+ * sysdeps/aarch64/multiarch/ifunc-impl-list.c
+ (__libc_ifunc_impl_list): Unconditionally select thunderx
+ routine for testing.
+
+2017-06-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ [BZ #21120]
+ * malloc/malloc-internal.h (MALLOC_ALIGNMENT): Moved to ...
+ * sysdeps/generic/malloc-alignment.h: Here. New file.
+ * sysdeps/i386/malloc-alignment.h: Likewise.
+ * sysdeps/generic/malloc-machine.h: Include <malloc-alignment.h>.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ * resolv/tst-resolv-res_init-skeleton.c (test_init_names): New
+ variable.
+ (test_file_contents): Use it.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ * resolv/res_init.c (res_setoptions): Remove source argument.
+ (res_vinit_1): Adjust.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ * resolv/res_query.c (DEBUG): Remove preprocessor conditional.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ * resolv/res_data.c: Reformat to GNU style.
+ (res_close): Update comments.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ * resolv/res_data.c (res_query, res_search, res_querydomain)
+ (hostalias): Move to ...
+ * resolv/res_Send.c (res_query, res_search, res_querydomain)
+ (hostalias): here.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ * resolv/res_data.c (res_isourserver, res_send): Move to ...
+ * resolv/res_send.c (res_isourserver, res_send): here.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ * resolv/res_debug.c (_res_opcodes): Rename ...
+ (res_opcodes): ... as compatibility symbol.
+ (fp_nquery): Use res_opcodes.
+ * include/resolv.h (_res_opcodes): Remove declaration.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ * include/resolv.h (res_pquery): Remove declaration.
+ * resolv/res_data.c (fp_nquery, fp_query, p_query): Remove
+ functions.
+ (_res_opcodes): Remove variable.
+ * resolv/res_debug.c (do_section): Receive pfcode instead of
+ statp.
+ (res_pquery): Rename ...
+ (fp_nquery): to this function. Skip unnecessary _res
+ initialization.
+ (fp_query, p_query, _res_opcodes): Copied from resolv/res_data.c.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ * resolv/res_debug.h: Remove file.
+ * resolv/README: Adjust.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ * resolv/res_end.c (DEBUG): Remove macro and preprocessor
+ conditionals.
+ (Aerror, Perror): Remove function definitions.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ * resolv/res_data.c (res_mkquery): Move ...
+ * resolv/res_mkquery.c (res_mkquery): to here.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ * resolv/res_mkquery.c: Reformat to GNU style.
+ (T_OPT): Remove definition. It is present in the header file.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ * resolv/res_mkquery.c (DEBUG): Remove macro and preprocessor
+ conditionals.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ * support/support_capture_subprocess_check.c
+ (support_capture_subprocess_check): Report actual exit status.
+
+2017-06-30 Florian Weimer <fweimer@redhat.com>
+
+ [BZ #19570]
+ * resolv/res_send.c (nameserver_offset): New function.
+ (__libc_res_nsend): Use it to implement RES_ROTATE.
+ (get_nsaddr): Add assert with name server
+ range check.
+ * resolv/Makefile (xtests): Add tst-resolv-rotate.
+ (tst-resolv-rotate): Link against libpthread.
+ * resolv/tst-resolv-rotate.c: New file.
+
+2017-06-29 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #21457]
+ * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (__ctx): New macro.
+ [__WORDSIZE == 64] (MC_TSTATE): Define only for [__USE_MISC].
+ [__WORDSIZE == 64] (MC_PC): Likewise.
+ [__WORDSIZE == 64] (MC_NPC): Likewise.
+ [__WORDSIZE == 64] (MC_Y): Likewise.
+ [__WORDSIZE == 64] (MC_G1): Likewise.
+ [__WORDSIZE == 64] (MC_G2): Likewise.
+ [__WORDSIZE == 64] (MC_G3): Likewise.
+ [__WORDSIZE == 64] (MC_G4): Likewise.
+ [__WORDSIZE == 64] (MC_G5): Likewise.
+ [__WORDSIZE == 64] (MC_G6): Likewise.
+ [__WORDSIZE == 64] (MC_G7): Likewise.
+ [__WORDSIZE == 64] (MC_O0): Likewise.
+ [__WORDSIZE == 64] (MC_O1): Likewise.
+ [__WORDSIZE == 64] (MC_O2): Likewise.
+ [__WORDSIZE == 64] (MC_O3): Likewise.
+ [__WORDSIZE == 64] (MC_O4): Likewise.
+ [__WORDSIZE == 64] (MC_O5): Likewise.
+ [__WORDSIZE == 64] (MC_O6): Likewise.
+ [__WORDSIZE == 64] (MC_O7): Likewise.
+ [__WORDSIZE == 64] (MC_NGREG): Rename to __MC_NGREG and define to
+ __MC_NGREG if [__USE_MISC].
+ [__WORDSIZE == 64] (MC_MAXFPQ): Define only for [__USE_MISC].
+ [__WORDSIZE == 64] (mc_gregset_t): Define using __MC_NGREG.
+ [__WORDSIZE == 64] (struct mc_fq): Rename to struct __mc_fq.
+ Define fields using __ctx.
+ [__WORDSIZE == 64] (mc_fpu_t): Remove struct tag. Define fields
+ using __ctx.
+ [__WORDSIZE == 64] (mcontext_t): Define fields using __ctx.
+ (REG_PSR): Define only for [__USE_MISC].
+ (REG_PC): Likewise.
+ (REG_nPC): Likewise.
+ (REG_Y): Likewise.
+ (REG_G1): Likewise.
+ (REG_G2): Likewise.
+ (REG_G3): Likewise.
+ (REG_G4): Likewise.
+ (REG_G5): Likewise.
+ (REG_G6): Likewise.
+ (REG_G7): Likewise.
+ (REG_O0): Likewise.
+ (REG_O1): Likewise.
+ (REG_O2): Likewise.
+ (REG_O3): Likewise.
+ (REG_O4): Likewise.
+ (REG_O5): Likewise.
+ (REG_O6): Likewise.
+ (REG_O7): Likewise.
+ [__WORDSIZE == 64] (REG_ASI): Define only for [__USE_MISC].
+ [__WORDSIZE == 64] (REG_FPRS): Likewise.
+ (NGREG): Rename to __NGREG and define to __NGREG if [__USE_MISC].
+ (gregset_t): Define using __NGREG.
+ (SPARC_MAXREGWINDOW): Rename to __SPARC_MAXREGWINDOW and define to
+ __SPARC_MAXREGWINDOW if [__USE_MISC].
+ (struct rwindow): Rename to struct __rwindow. Define fields using
+ __ctx.
+ (rw_fp): Define only for [__USE_MISC].
+ (rw_rtn): Likewise.
+ (gwindows_t): Remove struct tag. Define fields using __ctx and
+ __SPARC_MAXREGWINDOW.
+ (MAXFPQ): Define only for [__USE_MISC].
+ (struct fpq): Rename to struct __fpq. Define fields using __ctx.
+ (struct fq): Rename to struct __fq. Define fields using __ctx.
+ (FPU_REGS_TYPE): Define only for [__USE_MISC].
+ (FPU_DREGS_TYPE): Likewise.
+ (V7_FPU_FSR_TYPE): Likewise.
+ (V9_FPU_FSR_TYPE): Likewise.
+ (V9_FPU_FPRS_TYPE): Likewise.
+ [__WORDSIZE == 64] (fpregset_t): Remove struct tag. Define fields
+ using __ctx.
+ [__WORDSIZE != 64] (fpregset_t): Likewise.
+ [__WORDSIZE != 64] (xrs_t): Define fields using __ctx.
+ [__WORDSIZE != 64] (XRS_ID): Define only for [__USE_MISC].
+ [__WORDSIZE != 64] (mcontext_t): Define fields using __ctx.
+ Rename field filler to __glibc_reserved1.
+ * sysdeps/unix/sysv/linux/sparc/sparc32/ucontext_i.sym
+ (MC_FILLER): Remove.
+
+2017-06-29 Florian Weimer <fweimer@redhat.com>
+
+ * stdio-common/tst-vfprintf-user-type.c (my_printf_function):
+ Adjust format string.
+ * stdio-common/Makefile (tst-vfprintf-mbs-prec.out): Add locale
+ dependency.
+
+2017-06-29 Adhemerval Zanella <adhemerval.zanella@linaro.org>
+
+ * sysdeps/posix/spawni.c (__spawni_child): New function.
+ (__spawni): Rename to __spawnix.
+
+2017-06-29 Florian Weimer <fweimer@redhat.com>
+
+ * stdio-common/vfprintf.c (group_number): Add front_ptr argument.
+ Use it to make the temporary copy at the start of the work buffer.
+ (process_arg): Adjust call to group_number.
+
+2017-06-29 Florian Weimer <fweimer@redhat.com>
+
+ * stdio-common/vfprintf.c (printf_positional): Use struct
+ scratch_buffer to allocate backing storage for the args_value,
+ args_size, args_type arrays.
+
+2017-06-29 Florian Weimer <fweimer@redhat.com>
+
+ * stdio-common/_i18n_number.h (_i18n_number_rewrite): Use struct
+ scratch_buffer.
+
+2017-06-29 Florian Weimer <fweimer@redhat.com>
+
+ * stdio-common/vfprintf.c (WORK_BUFFER_SIZE): Reduce size for
+ wchar_t builds.
+
+2017-06-29 Florian Weimer <fweimer@redhat.com>
+
+ * stdio-common/tst-vfprintf-mbs-prec.c: New file.
+ * stdio-common/Makefile (tests): Add tst-vfprintf-mbs-prec.
+
+2017-06-29 Florian Weimer <fweimer@redhat.com>
+
+ * stdio-common/tst-vfprintf-user-type.c: New file.
+ * stdio-common/Makefile (tests): Add tst-vfprintf-user-type.
+
+2017-06-28 Adhemerval Zanella <adhemerval.zanella@linaro.org>
+
+ * posix/tst-spawn2.c (do_test): Use libsupport.
+ * posix/tst-spawn3.c (do_test): Likewise.
+
+2017-06-28 Joseph Myers <joseph@codesourcery.com>
+
+ * math/gen-tgmath-tests.py (Tests.__init__): Define
+ __STDC_WANT_IEC_60559_TYPES_EXT__ at start of generated file.
+
+ * math/tgmath.h: Include <bits/libc-header-start.h> and
+ <bits/floatn.h>.
+ (__TGMATH_F128): New macro.
+ (__TGMATH_CF128): Likewise.
+ (__TGMATH_UNARY_REAL_ONLY): Use __TGMATH_F128.
+ (__TGMATH_UNARY_REAL_RET_ONLY): Likewise.
+ (__TGMATH_BINARY_FIRST_REAL_ONLY): Likewise.
+ (__TGMATH_BINARY_FIRST_REAL_STD_ONLY): New macro.
+ (__TGMATH_BINARY_REAL_ONLY): Use __TGMATH_F128.
+ (__TGMATH_BINARY_REAL_STD_ONLY): New macro.
+ (__TGMATH_BINARY_REAL_RET_ONLY): Use __TGMATH_F128.
+ (__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): Likewise.
+ (__TGMATH_TERNARY_REAL_ONLY): Likewise.
+ (__TGMATH_TERNARY_FIRST_REAL_RET_ONLY): Likewise.
+ (__TGMATH_UNARY_REAL_IMAG): Use __TGMATH_CF128.
+ (__TGMATH_UNARY_IMAG): Use __TGMATH_F128.
+ (__TGMATH_UNARY_REAL_IMAG_RET_REAL): Use __TGMATH_CF128.
+ (__TGMATH_BINARY_REAL_IMAG): Likewise.
+ (nexttoward): Use __TGMATH_BINARY_FIRST_REAL_STD_ONLY.
+ [__USE_MISC] (scalb): Use __TGMATH_BINARY_REAL_STD_ONLY.
+ * math/gen-tgmath-tests.py (Type.init_types): Enable _FloatN and
+ _FloatNx types if the corresponding HUGE_VAL macros are defined.
+
+ * math/tgmath.h [__USE_GNU] (log10): Use clog10 not __clog10.
+ * math/gen-tgmath-tests.py (Tests.add_all_tests): Test log10 for
+ complex arguments.
+
+ [BZ #21687]
+ * math/tgmath.h (__TGMATH_BINARY_REAL_RET_ONLY): New macro.
+ (totalorder): Use it.
+ (totalordermag): Likewise.
+ * math/gen-tgmath-tests.py (Tests.add_all_tests): Enable tests of
+ totalorder and totalordermag.
+ * math/test-tgmath.c (F(compile_test)): Do not call totalorder or
+ totalordermag in arguments of calls to those functions.
+ (NCALLS): Change to 134.
+
+ * math/tgmath.h (__TGMATH_UNARY_REAL_RET_ONLY): Do not take or
+ cast to return type argument.
+ (__TGMATH_TERNARY_FIRST_REAL_RET_ONLY): Likewise.
+ (lrint): Update call to __TGMATH_UNARY_REAL_RET_ONLY.
+ (llrint): Likewise.
+ (lround): Likewise.
+ (llround): Likewise.
+ (ilogb): Likewise.
+ (llogb): Likewise.
+ (fromfp): Update call to __TGMATH_TERNARY_FIRST_REAL_RET_ONLY.
+ (ufromfp): Likewise.
+ (fromfpx): Likewise.
+ (ufromfpx): Likewise.
+
+ [BZ #21607]
+ * math/basic-test.c [!NO_LONG_DOUBLE]: Change conditionals to
+ [LDBL_MANT_DIG > DBL_MANT_DIG].
+ * math/bug-nextafter.c [!NO_LONG_DOUBLE]: Remove conditionals.
+ * math/bug-nexttoward.c [!NO_LONG_DOUBLE]: Likewise.
+ * math/test-math-isinff.cc [!NO_LONG_DOUBLE]: Likewise.
+ * math/test-math-iszero.cc [!NO_LONG_DOUBLE]: Likewise.
+ * math/test-nan-overflow.c [!NO_LONG_DOUBLE]: Likewise.
+ * math/test-nan-payload.c [!NO_LONG_DOUBLE]: Likewise.
+ * math/test-nearbyint-except-2.c [!NO_LONG_DOUBLE]: Likewise.
+ * math/test-nearbyint-except.c [!NO_LONG_DOUBLE]: Likewise.
+ * math/test-powl.c [!NO_LONG_DOUBLE]: Likewise.
+ * math/test-signgam-finite-c99.c [!NO_LONG_DOUBLE]: Likewise.
+ * math/test-signgam-finite.c [!NO_LONG_DOUBLE]: Likewise.
+ * math/test-signgam-main.c [!NO_LONG_DOUBLE]: Likewise.
+ * math/test-snan.c [!NO_LONG_DOUBLE]: Likewise.
+ * math/test-tgmath-ret.c [!NO_LONG_DOUBLE]: Likewise.
+ * math/test-tgmath.c: Include <float.h>.
+ [!NO_LONG_DOUBLE]: Change conditionals to [LDBL_MANT_DIG >
+ DBL_MANT_DIG].
+ * math/test-tgmath2.c: Include <float.h>.
+ [!NO_LONG_DOUBLE]: Change conditionals to [LDBL_MANT_DIG >
+ DBL_MANT_DIG].
+
+ * math/gen-tgmath-tests.py: New file.
+ * math/Makefile [PYTHON] (tests): Add test-tgmath3.
+ [PYTHON] (generated): Add test-tgmath3.c.
+ [PYTHON] (CFLAGS-test-tgmath3.c): New variable.
+ [PYTHON] ($(objpfx)test-tgmath3.c): New rule.
+
+ * configure.ac (AS): Require binutils 2.25 or later.
+ (LD): Likewise.
+ * configure: Regenerated.
+ * sysdeps/s390/configure.ac (AS): Remove version check.
+ * sysdeps/s390/configure: Regenerated.
+ * sysdeps/x86_64/configure.ac (AS): Remove version check.
+ * sysdeps/x86_64/configure: Regenerated.
+ * manual/install.texi (Tools for Compilation): Document
+ requirement for binutils 2.25 or later.
+ * INSTALL: Regenerated.
+
+2017-06-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ [BZ #14995]
+ * configure.ac: Allow gold 1.14 or above to configire glibc
+ * configure: Regenerated.
+
+2017-06-28 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #21457]
+ * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (fpregset_t): Remove
+ struct tag.
+ * sysdeps/unix/sysv/linux/mips/sys/ucontext.h (fpregset_t):
+ Likewise.
+ * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (mcontext_t):
+ Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (pt_regs):
+ Declare struct type with __ctx.
+ [__WORDSIZE != 32] (mcontext_t): Use __ctx with pt_regs struct
+ tag.
+ (ucontext_t) [__WORDSIZE == 32]: Use __ctx with pt_regs struct tag
+ and regs field name.
+
+2017-06-27 Joseph Myers <joseph@codesourcery.com>
+
+ * elf/loadtest.c (OUT): Define using do { } while (0).
+
+ * time/strftime_l.c (DO_NUMBER): Define using do { } while (0).
+ (DO_NUMBER_SPACEPAD): Likewise.
+
+2017-06-27 Prakhar Bahuguna <prakhar.bahuguna@arm.com>
+
+ * sysdeps/arm/armv7/multiarch/Makefile: Add memchr_neon to
+ sysdep_routines.
+ * sysdeps/arm/armv7/multiarch/ifunc-impl-list.c: Add define for
+ __memchr_neon.
+ Add ifunc definitions for __memchr_neon and __memchr_noneon.
+ * sysdeps/arm/armv7/multiarch/memchr.S: New file.
+ * sysdeps/arm/armv7/multiarch/memchr_impl.S: Likewise.
+ * sysdeps/arm/armv7/multiarch/memchr_neon.S: Likewise.
+
+2017-06-27 Stefan Liebler <stli@linux.vnet.ibm.com>
+
+ * sysdeps/s390/utf8-utf16-z9.c (__to_utf8_loop_vx_cu):
+ Use vector and cu21 instruction.
+ * sysdeps/s390/multiarch/utf8-utf16-z9.c:
+ Add __to_utf8_loop_vx_cu in ifunc resolver.
+
+2017-06-27 Stefan Liebler <stli@linux.vnet.ibm.com>
+
+ * sysdeps/s390/utf16-utf32-z9.c (__from_utf16_loop_vx_cu):
+ Use vector and cu24 instruction.
+
+2017-06-27 Stefan Liebler <stli@linux.vnet.ibm.com>
+
+ * sysdeps/s390/utf16-utf32-z9.c (__to_utf16_loop_vx_cu):
+ Use vector and cu42 instruction.
+ * sysdeps/s390/multiarch/utf16-utf32-z9.c:
+ Add __to_utf16_loop_vx_cu in ifunc resolver.
+
2017-06-27 Stefan Liebler <stli@linux.vnet.ibm.com>
* sysdeps/s390/utf8-utf32-z9.c (__to_utf8_loop_vx_cu):