1 2017-08-14 Joseph Myers <joseph@codesourcery.com>
3 * conform/data/sys/wait.h-data (si_value): Do not expect for
6 2017-08-14 Florian Weimer <fweimer@redhat.com>
9 NSS: Create stubs for accidentally exported lookup functions.
10 * grp/initgroups.c (__nss_group_lookup, __nss_lookup_function):
12 * inet/ether_hton.c (__nss_ethers_lookup): Likewise.
13 (ether_hostton): Call __nss_ethers_lookup2 instead.
14 * inet/ether_ntoh.c (__nss_ethers_lookup): Remove declaration.
15 (ether_ntohost): Call __nss_ethers_lookup2 instead.
16 * inet/getnetgrent_r.c (__nss_netgroup_lookup): Remove declaration.
17 (setup): Call __nss_netgroup_lookup2 instead.
18 * nss/Makefile (routines): Add compat-lookup.
19 * nss/Versions (GLIBC_2.27): Add symbol version.
20 * nss/XXX-lookup (DB_LOOKUP_FCT): Remove declaration. Now provided by <nsswitch.h>.
21 (DB_COMPAT_FCT): Remove.
22 * nss/compat-lookup.c: New file.
23 * nss/nsswitch.h: Generate __nss_*_lookup2 function prototypes
25 * nss/service-lookup.c (NO_COMPAT): Remove definition.
26 * sunrpc/netname.c (__nss_publickey_lookup): Remove declaration.
27 (netname2user): Call __nss_publickey_lookup2 instead.
28 * sunrpc/publickey.c (__nss_publickey_lookup): Remove declaration.
29 (getpublickey, getsecretkey): Call __nss_publickey_lookup2
32 2017-08-14 Adhemerval Zanella <adhemerval.zanella@linaro.org>
33 Sergei Trofimovich <slyfox@inbox.ru>
36 * sysdeps/unix/sysv/linux/m68k/mmap_internal.h (MMAP2_PAGE_SHIFT):
37 Rename to MMAP2_PAGE_UNIT.
38 * sysdeps/unix/sysv/linux/mmap.c: Include mmap_internal iff
39 __OFF_T_MATCHES_OFF64_T is not defined.
40 * sysdeps/unix/sysv/linux/mmap_internal.h (page_unit): Declare as
42 (MMAP2_PAGE_UNIT) [MMAP2_PAGE_UNIT == -1]: Redefine to page_unit.
43 (page_unit) [MMAP2_PAGE_UNIT != -1]: Remove definition.
45 2017-08-14 Florian Weimer <fweimer@redhat.com>
47 i386: Do not set internal_function.
48 * config.h.in (USE_REGPARMS, internal_function): Remove.
49 * sysdeps/i386/configure.ac (USE_REGPARMS): Likewise.
50 * sysdeps/i386/configure (USE_REGPARMS): Likewise.
52 2017-08-14 Florian Weimer <fweimer@redhat.com>
54 * elf/dl-init.c (_dl_init): Remove internal_function.
55 * sysdeps/generic/ldsodefs.h (_dl_init): Likewise.
56 * sysdeps/i386/dl-machine.h (RTLD_START): Adjust call to _dl_init.
58 2017-08-14 Florian Weimer <fweimer@redhat.com>
60 * elf/rtld.c (_dl_start): Remove internal_function.
61 * sysdeps/i386/dl-machine.h (RTLD_START): Adjust call to
64 2017-08-14 Florian Weimer <fweimer@redhat.com>
66 * elf/dl-fini.c (_dl_fini): Remove internal_function
67 * sysdeps/generic/ldsodefs.h (_dl_fini): Likewise.
69 2017-08-14 H.J. Lu <hongjiu.lu@intel.com>
71 * sysdeps/x86/cpu-features.h (bit_cpu_BIT): New.
72 (bit_cpu_SHSTK): Likewise.
73 (index_cpu_IBT): Likewise.
74 (index_cpu_SHSTK): Likewise.
76 (reg_SHSTK): Likewise.
77 * sysdeps/x86/cpu-tunables.c (TUNABLE_CALLBACK (set_hwcaps)):
78 Handle index_cpu_IBT and index_cpu_SHSTK.
80 2017-08-14 Mike FABIAN <mfabian@redhat.com>
83 * po/fr.po: Fix spelling mistake.
85 2017-08-13 Florian Weimer <fweimer@redhat.com>
87 * elf/dl-addr.c (_dl_addr): Remove internal_function.
88 * elf/dl-error-skeleton.c (_dl_signal_error, _dl_signal_cerror)
89 (_dl_catch_error, _dl_receive_error): Likewise.
90 * elf/dl-open.c (_dl_find_dso_for_object): Likewise.
91 * elf/dl-tls.c (_dl_allocate_tls_init, _dl_allocate_tls)
92 (_dl_deallocate_tls): Likewise.
93 * include/dlfcn.h (_dl_addr): Likewise.
94 * sysdeps/generic/ldsodefs.h (_dl_signal_error, _dl_signal_cerror)
95 (_dl_catch_error, _dl_receive_error, _dl_find_dso_for_object)
96 (_dl_allocate_tls_init, _dl_allocate_tls, _dl_deallocate_tls):
99 2017-08-13 Florian Weimer <fweimer@redhat.com>
101 * include/stdlib.h: (__strtof_nan, __strtod_nan, __strtold_nan)
102 (__wcstof_nan, __wcstod_nan, __wcstold_nan): Remove
104 * stdlib/sttod_nan_main.c (STRTOD_NAN): Likewise.
106 2017-08-13 Florian Weimer <fweimer@redhat.com>
108 * elf/dl-support.c (_dl_make_stack_executable_hook): Remove
110 * nptl/allocatestack.c (__make_stacks_executable): Likewise.
111 * nptl/pthreadP.h (__make_stacks_executable): Likewise.
112 * sysdeps/generic/ldsodefs.h (_rtld_global): Remove
113 internal_function from _dl_make_stack_executable_hook member.
114 (_dl_make_stack_executable): Remove internal_function.
115 * sysdeps/mach/hurd/dl-execstack.c (_dl_make_stack_executable):
117 * sysdeps/unix/sysv/linux/dl-execstack.c
118 (_dl_make_stack_executable): Likewise.
120 2017-08-13 Florian Weimer <fweimer@redhat.com>
122 * sysdeps/unix/sysv/linux/netlinkaccess.h
123 (__netlink_assert_response): Remove internal_function.
124 * sysdeps/unix/sysv/linux/netlink_assert_response.c
125 (__netlink_assert_response): Likewise.
127 2017-08-13 Florian Weimer <fweimer@redhat.com>
129 * include/rpc/pmap_clnt.h (__libc_rpc_getport): Remove
131 * sunrpoc/pm_getport.c (__libc_rpc_getport): Likewise.
133 2017-08-13 Florian Weimer <fweimer@redhat.com>
135 * grp/grp-merge.h (__copy_grp, __merge_grp): Remove
137 * grp/grp-merge.c (__copy_grp, __merge_grp): Likewise.
138 * inet/netgroup.h (__internal_setnetgrent)
139 (__internal_endnetgrent,__internal_getnetgrent_r): Likewise.
140 * inet/getnetgrent_r.c (__internal_setnetgrent)
141 (__internal_endnetgrent,__internal_getnetgrent_r): Likewise.
142 * nss/XXX-lookup.c (DB_LOOKUP_FCT, DB_COMPAT_FCT): Likewise.
143 * nss/getXXbyYY_r.c (DB_LOOKUP_FCT): Likewise.
144 * nss/getXXent_r.c (DB_LOOKUP_FCT): Likewise.
145 * nss/nsswitch.h (db_lookup_function): Likewise.
147 2017-08-13 Florian Weimer <fweimer@redhat.com>
149 * debug/fortify_fail.c (__fortify_fail, __fortify_fail_abort):
150 Remove internal_function.
151 * include/stdio.h (__fortify_fail, __fortify_fail_abort): Likewise.
152 * sysdeps/mach/hurd/i386/____longjmp_chk.S (CALL_FAIL): Pass
153 message argument on the stack.
154 * sysdeps/unix/sysv/linux/i386/____longjmp_chk.S (CALL_FAIL):
157 2017-08-12 Mike FABIAN <mfabian@redhat.com>
159 Adapt test case data to the changes in the thousands
163 * localedata/tst-langinfo.sh: Adapt test case data.
164 * stdlib/tst-strfmon_l.c: Likewise.
165 * stdlib/tst-strtod4.c: Likewise.
166 * stdlib/tst-strtod5i.c: Likewise.
168 2017-08-11 Florian Weimer <fweimer@redhat.com>
171 * assert/assert.h [__GNUC__ && !__STRICT_ANSI__] (assert):
172 Suppress pedantic warning resulting from statement expression.
173 (__ASSERT_FUNCTION): Add missing __extension__.
175 2017-08-11 Siddhesh Poyarekar <siddhesh@sourceware.org>
177 * benchtests/bench-memmove-large.c: Print output in JSON
179 * benchtests/bench-memmove.c: Likewise.
181 * benchtests/bench-memccpy.c (do_one_test): Remove checks.
182 * benchtests/bench-memchr.c (do_one_test): Likewise.
183 * benchtests/bench-memcpy-large.c (do_one_test): Likewise.
184 * benchtests/bench-memcpy.c (do_one_test): Likewise.
185 * benchtests/bench-memmove-large.c (do_one_test): Likewise.
186 * benchtests/bench-memmove.c (do_one_test): Likewise.
187 * benchtests/bench-memset-large.c (do_one_test): Likewise.
188 * benchtests/bench-memset.c (do_one_test): Likewise.
189 * benchtests/bench-string.h (test_init): Remove memsets.
191 2017-08-10 Rical Jasan <ricaljasan@pacific.net>
194 (Computing the Width of an Integer Data Type): Rename section to
195 "Width of an Integer Type". Remove inaccurate statement regarding
196 lack of C language facilities for determining width of integer
197 types, and reorder content to improve flow and context of
200 2017-08-10 Rical Jasan <ricaljasan@pacific.net>
202 * lang.texi (va_copy): Change standard from ISO to C99.
203 (__va_copy): Add standard and header annotation.
204 Update description for clarity of origins and current use.
206 2017-08-10 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
209 * sysdeps/powerpc/fpu/math_private.h (__ieee754_sqrtf128): Since
210 xssqrtqp requires operands to be in Vector Registers
211 (Altivec/VMX), replace the register constraint 'wq' with 'v'.
212 * sysdeps/powerpc/powerpc64le/power9/fpu/e_sqrtf128.c
213 (__ieee754_sqrtf128): Likewise.
215 2017-08-10 Wilco Dijkstra <wdijkstr@arm.com>
217 * sysdeps/aarch64/memcmp.S (memcmp):
218 Rewrite of optimized memcmp.
220 2017-08-10 Florian Weimer <fweimer@redhat.com>
222 Introduce ld.so exceptions.
223 * sysdeps/generic/ldsodefs.h (struct dl_exception): Define.
224 (_dl_exception_create, _dl_exception_create_format)
225 (_dl_exception_free, _dl_signal_exception, _dl_signal_cexception)
226 (_dl_catch_exception): Declare.
227 (_dl_catch_error): Update comment.
228 * elf/dl-error-skeleton.c (struct catch): Replace objname,
229 errstring, malloced members with exception member.
230 (_dl_out_of_memory): Remove.
231 (fatal_error): New function, extracted from _dl_signal_error.
232 (_dl_signal_exception, _dl_signal_cexception): New functions.
233 (_dl_signal_error): Call _dl_exception_create to allocate an
235 (_dl_catch_exception): New function, based on _dl_catch_error.
236 (_dl_catch_error): Implement using _dl_catch_exception.
237 * elf/dl-exception.c: New file.
238 * elf/Makefile (dl-routines): Add dl-exception.
239 (elide-routines.os): Likewise.
240 * elf/Version (ld/GLIBC_PRIVATE): Add _dl_exception_create,
241 _dl_exception_create_format, _dl_exception_free.
242 * elf/dl-deps.c (_dl_map_object_deps): Use _dl_catch_exception and
243 _dl_signal_exception.
244 * elf/dl-lookup.c (make_string): Remove.
245 (_dl_lookup_symbol_x): Use _dl_exception_create_format,
246 _dl_signal_cexception, _dl_exception_free.
247 * elf/dl-open.c (_dl_open): Use _dl_catch_exception and
248 _dl_signal_exception.
249 * elf/dl-sym.c (do_sym): Likewise.
250 * elf/dl-version.c (make_string): Remove.
251 (match_symbol): Use _dl_exception_create_format,
252 _dl_signal_cexception, _dl_exception_free.
253 (_dl_check_map_versions): Likewise.
254 * sysdeps/generic/localplt.data (ld.so): Add _dl_signal_exception,
256 * sysdeps/unix/sysv/linux/aarch64/localplt.data (ld.so): Likewise.
257 * sysdeps/unix/sysv/linux/alpha/localplt.data (ld.so): Likewise.
258 * sysdeps/unix/sysv/linux/arm/localplt.data (ld.so): Likewise.
259 * sysdeps/unix/sysv/linux/hppa/localplt.data (ld.so): Likewise.
260 * sysdeps/unix/sysv/linux/i386/localplt.data (ld.so): Likewise.
261 * sysdeps/unix/sysv/linux/ia64/localplt.data (ld.so): Likewise.
262 * sysdeps/unix/sysv/linux/m68k/localplt.data (ld.so): Likewise.
263 * sysdeps/unix/sysv/linux/microblaze/localplt.data (ld.so):
265 * sysdeps/unix/sysv/linux/nios2/localplt.data (ld.so): Likewise.
266 * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/localplt.data
268 * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/localplt.data
270 * sysdeps/unix/sysv/linux/powerpc/powerpc64/localplt.data (ld.so):
272 * sysdeps/unix/sysv/linux/s390/localplt.data (ld.so): Likewise.
273 * sysdeps/unix/sysv/linux/sh/localplt.data (ld.so): Likewise.
274 * sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data (ld.so):
276 * sysdeps/unix/sysv/linux/sparc/sparc64/localplt.data (ld.so):
278 * sysdeps/x86_64/localplt.data (ld.so): Likewise.
280 2017-08-10 Florian Weimer <fweimer@redhat.com>
282 * inet/net-internal.h (__inet6_scopeid_pton): Remove
283 attribute_hidden, internal_function.
284 * inet/inet6_scopeid_pton.c (__inet6_scopeid_pton): Remove
287 2017-08-10 Florian Weimer <fweimer@redhat.com>
289 * malloc/malloc.c (get_max_fast): Reimplement as an inline
290 function which calls __builtin_unreachable.
292 2017-08-10 Mike FABIAN <mfabian@redhat.com>
294 * stdlib/tst-strfmon_l.c: Fix test cases to agree with the changes in
295 Indian monetary formatting
296 * stdlib/Makefile: Adapt list of locales needed for the tst-strfmon_l.c
299 2017-08-09 Dmitry V. Levin <ldv@altlinux.org>
301 * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h (enum __ptrace_request):
305 * sysdeps/unix/sysv/linux/sys/ptrace.h (enum __ptrace_flags,
306 PTRACE_SEIZE_DEVEL): Remove.
307 * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h: Likewise.
308 * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise.
309 * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise.
310 * sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise.
311 * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise.
313 2017-08-09 Joseph Myers <joseph@codesourcery.com>
315 * posix/bits/types.h (__qaddr_t): Remove.
318 * sysdeps/arm/sys/ucontext.h (__ctx): Move undefine further down.
319 (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
321 * sysdeps/generic/sys/ucontext.h (__ctx): New macro.
322 (ucontext_t): Use __ctx with uc_flags.
323 * sysdeps/i386/sys/ucontext.h (__ctx): Move undefine further down.
325 (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
327 * sysdeps/m68k/sys/ucontext.h (__ctx): Move undefine further down.
328 (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
330 * sysdeps/mips/sys/ucontext.h (__ctx): Move undefine further down.
331 (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
333 * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (__ctx): New
335 (ucontext_t): Use __ctx with uc_flags.
336 * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h (__ctx): New macro.
337 (ucontext_t): Use __ctx with uc_flags.
338 * sysdeps/unix/sysv/linux/arm/sys/ucontext.h (__ctx): New macro.
339 (ucontext_t): Use __ctx with uc_flags and uc_regspace.
340 * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (__ctx): New macro.
341 (ucontext_t): Use __ctx with uc_flags.
342 * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (__ctx): Move
343 undefine further down.
344 (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
346 * sysdeps/unix/sysv/linux/mips/sys/ucontext.h (__ctx): Move
347 undefine further down.
348 (ucontext_t): Use __ctx with uc_flags.
349 * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (__ctx): Move
350 undefine further down.
351 (ucontext_t): Use __ctx with uc_flags.
352 * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (ucontext_t): Use
353 __ctx with uc_flags, uc_regs_ptr, uc_regs and uc_reg_space.
354 Rename uc_pad to __glibc_reserved1.
355 * sysdeps/unix/sysv/linux/s390/sys/ucontext.h (__ctx): Move
356 undefine further down.
357 (ucontext_t): Use __ctx with uc_flags.
358 * sysdeps/unix/sysv/linux/sh/sys/ucontext.h (__ctx): Move undefine
360 (ucontext_t): Use __ctx with uc_flags.
361 * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (ucontext_t): Use
363 * sysdeps/unix/sysv/linux/tile/sys/ucontext.h (__ctx): New macro.
364 (ucontext_t): Use __ctx with uc_flags.
365 * sysdeps/unix/sysv/linux/x86/sys/ucontext.h (ucontext_t): Use
368 2017-08-09 Florian Weimer <fweimer@redhat.com>
371 * nss/getXXbyYY_r.c (REENTRANT_NAME): Call __resolv_context_put
374 2017-08-09 Andreas Schwab <schwab@suse.de>
377 * sysdeps/unix/sysv/linux/s390/pt-longjmp.c: Update reference to
381 * nptl/Makefile (tests) [$(build-shared) = yes]: Add
382 tst-compat-forwarder.
383 (modules-names): Add tst-compat-forwarder-mod.
384 ($(objpfx)tst-compat-forwarder): Depend on
385 $(objpfx)tst-compat-forwarder-mod.so.
386 * nptl/tst-compat-forwarder.c: New file.
387 * nptl/tst-compat-forwarder-mod.c: New file.
389 2017-08-09 Siddhesh Poyarekar <siddhesh@sourceware.org>
391 * sysdeps/aarch64/multiarch/memcpy_falkor.S: Fix code style in
394 * manual/tunables.texi (Tunable glibc.tune.cpu): Add falkor.
395 * sysdeps/aarch64/multiarch/Makefile (sysdep_routines): Add
397 * sysdeps/aarch64/multiarch/ifunc-impl-list.c (MAX_IFUNC):
399 (__libc_ifunc_impl_list): Add __memcpy_falkor.
400 * sysdeps/aarch64/multiarch/memcpy.c: Likewise.
401 * sysdeps/aarch64/multiarch/memcpy_falkor.S: New file.
402 * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list):
404 * sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_FALKOR):
407 2017-08-08 Adhemerval Zanella <adhemerval.zanella@linaro.org>
410 * manual/setjmp.texi (getcontex): Document uc_stack value
411 compatibility differences.
413 2017-08-08 Joseph Myers <joseph@codesourcery.com>
415 * malloc/mcheck.c (old_free_hook): Use void * instead of __ptr_t.
416 (old_malloc_hook): Likewise.
417 (old_memalign_hook): Likewise.
418 (old_realloc_hook): Likewise.
419 (struct hdr): Likewise.
421 (freehook): Likewise.
422 (mallochook): Likewise.
423 (memalignhook): Likewise.
424 (reallochook): Likewise.
426 * malloc/mtrace.c (mallwatch): Likewise.
427 (tr_old_free_hook): Likewise.
428 (tr_old_malloc_hook): Likewise.
429 (tr_old_realloc_hook): Likewise.
430 (tr_old_memalign_hook): Likewise.
431 (tr_where): Likewise.
432 (lock_and_info): Likewise.
433 (tr_freehook): Likewise.
434 (tr_mallochook): Likewise.
435 (tr_reallochook): Likewise.
436 (tr_memalignhook): Likewise.
437 * misc/err.h [!__GNUC_VA_LIST] (__gnuc_va_list): Likewise.
438 * misc/mmap.c (__mmap): Likewise.
439 * misc/mmap64.c (__mmap64): Likewise.
440 * misc/mprotect.c (__mprotect): Likewise.
441 * misc/msync.c (msync): Likewise.
442 * misc/munmap.c (__munmap): Likewise.
443 * posix/posix_madvise.c (posix_madvise): Likewise.
444 * socket/send.c (__send): Likewise.
445 * socket/sendto.c (__sendto): Likewise.
446 * socket/setsockopt.c (__setsockopt): Likewise.
447 * string/memcmp.c (__ptr_t): Remove macro.
448 (MEMCMP): Use void * instead of ptr_t.
449 * string/memrchr.c (__ptr_t): Remove macro.
450 (__memrchr): Use void * instead of ptr_t.
451 * sysdeps/mach/hurd/dl-sysdep.c (__mmap): Likewise.
452 * sysdeps/mach/hurd/mmap.c (__mmap): Likewise.
453 * sysdeps/mach/hurd/mmap64.c (__mmap64): Likewise.
454 * sysdeps/mach/mprotect.c (__mprotect): Likewise.
455 * sysdeps/mach/msync.c (msync): Likewise.
456 * sysdeps/mach/munmap.c (__munmap): Likewise.
457 * sysdeps/mips/bits/setjmp.h (struct __jmp_buf_internal_tag):
459 * sysdeps/posix/getcwd.c (__getcwd): Likewise.
460 * sysdeps/powerpc/powerpc32/memset.S (memset): Likewise.
461 * sysdeps/powerpc/powerpc32/power4/memcpy.S (memcpy): Likewise.
462 * sysdeps/powerpc/powerpc32/power4/memset.S (memset): Likewise.
463 * sysdeps/powerpc/powerpc32/power6/memcpy.S (memcpy): Likewise.
464 * sysdeps/powerpc/powerpc32/power6/memset.S (memset): Likewise.
465 * sysdeps/powerpc/powerpc32/power7/memcpy.S (memcpy): Likewise.
466 * sysdeps/powerpc/powerpc32/power7/mempcpy.S (__mempcpy):
468 * sysdeps/powerpc/powerpc32/power7/memset.S (memset): Likewise.
469 * sysdeps/powerpc/powerpc64/memcpy.S (memcpy): Likewise.
470 * sysdeps/powerpc/powerpc64/memset.S (memset): Likewise.
471 * sysdeps/powerpc/powerpc64/power4/memcpy.S (memcpy): Likewise.
472 * sysdeps/powerpc/powerpc64/power4/memset.S (memset): Likewise.
473 * sysdeps/powerpc/powerpc64/power6/memcpy.S (memcpy): Likewise.
474 * sysdeps/powerpc/powerpc64/power6/memset.S (memset): Likewise.
475 * sysdeps/powerpc/powerpc64/power7/memcpy.S (memcpy): Likewise.
476 * sysdeps/powerpc/powerpc64/power7/mempcpy.S (__mempcpy):
478 * sysdeps/powerpc/powerpc64/power7/memset.S (memset): Likewise.
479 * sysdeps/powerpc/powerpc64/power8/memset.S (memset): Likewise.
480 * sysdeps/tile/memcmp.c (__ptr_t): Remove macro.
481 (MEMCMP): Use void * instead of ptr_t.
482 * sysdeps/unix/sysv/linux/alpha/oldglob.c (old_glob_t): Likewise.
483 * sysdeps/unix/sysv/linux/mmap.c (__mmap): Likewise.
485 2017-08-08 Florian Weimer <fweimer@redhat.com>
487 * sysdeps/posix/getaddrinfo.c (gaih_inet): Remove unreachable
490 2017-08-08 H.J. Lu <hongjiu.lu@intel.com>
493 * csu/libc-tls.c: Include <startup.h> first.
494 (__libc_setup_tls): Call _startup_fatal instead of __libc_fatal.
495 * elf/dl-tunables.c: Include <startup.h> first.
496 * include/libc-symbols.h (BUILD_PIE_DEFAULT): New.
497 * sysdeps/generic/startup.h: New file.
498 * sysdeps/unix/sysv/linux/i386/startup.h: Likewise.
499 * sysdeps/unix/sysv/linux/i386/brk.c [BUILD_PIE_DEFAULT != 0]
500 (I386_USE_SYSENTER): New. Defined to 0.
502 2017-08-08 Andreas Schwab <schwab@suse.de>
505 * nptl/pt-longjmp.c (longjmp, siglongjmp): Don't use IFUNC resolver.
506 * nptl/pt-system.c (system): Likewise.
508 2017-08-07 Adhemerval Zanella <adhemerval.zanella@linaro.org>
511 * sysdeps/posix/preadv2.c (preadv2): Use ENOTSUP instead of
513 * sysdeps/posix/preadv64v2.c (preadv64v2): Likewise.
514 * sysdeps/posix/pwritev2.c (pwritev2): Likewise.
515 * sysdeps/posix/pwritev64v2.c (pwritev64v2): Likewise.
516 * sysdeps/unix/sysv/linux/preadv2.c (preadv2): Likewise.
517 * sysdeps/unix/sysv/linux/preadv64v2.c (preadv64v2): Likewise.
518 * sysdeps/unix/sysv/linux/pwritev2.c (pwritev2): Likewise.
519 * sysdeps/unix/sysv/linux/pwritev64v2.c (pwritev64v2): Likewise.
521 2017-08-07 Joseph Myers <joseph@codesourcery.com>
524 * bits/sigaction.h (struct sigaction): Define sa_handler and
525 sa_sigaction using union also for [__USE_XOPEN_EXTENDED].
526 (SA_ONSTACK): Change [__USE_UNIX98] condition to
527 [__USE_XOPEN_EXTENDED].
528 (SA_RESTART): Likewise.
529 (SA_NODEFER): Likewise.
530 (SA_RESETHAND): Likewise.
531 * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
532 (struct sigaction): Define sa_handler and sa_sigaction using union
533 also for [__USE_XOPEN_EXTENDED].
534 (SA_ONSTACK): Change [__USE_UNIX98] condition to
535 [__USE_XOPEN_EXTENDED].
536 (SA_RESTART): Likewise.
537 (SA_NODEFER): Likewise.
538 (SA_RESETHAND): Likewise.
539 * sysdeps/unix/sysv/linux/bits/sigaction.h
540 (struct sigaction): Define sa_handler and sa_sigaction using union
541 also for [__USE_XOPEN_EXTENDED].
542 (SA_ONSTACK): Change [__USE_UNIX98] condition to
543 [__USE_XOPEN_EXTENDED].
544 (SA_RESTART): Likewise.
545 (SA_NODEFER): Likewise.
546 (SA_RESETHAND): Likewise.
547 * sysdeps/unix/sysv/linux/hppa/bits/sigaction.h
548 (struct sigaction): Define sa_handler and sa_sigaction using union
549 also for [__USE_XOPEN_EXTENDED].
550 (SA_ONSTACK): Change [__USE_UNIX98] condition to
551 [__USE_XOPEN_EXTENDED].
552 (SA_RESTART): Likewise.
553 (SA_NODEFER): Likewise.
554 (SA_RESETHAND): Likewise.
555 * sysdeps/unix/sysv/linux/ia64/bits/sigaction.h
556 (struct sigaction): Define sa_handler and sa_sigaction using union
557 also for [__USE_XOPEN_EXTENDED].
558 (SA_ONSTACK): Change [__USE_UNIX98] condition to
559 [__USE_XOPEN_EXTENDED].
560 (SA_RESTART): Likewise.
561 (SA_NODEFER): Likewise.
562 (SA_RESETHAND): Likewise.
563 * sysdeps/unix/sysv/linux/mips/bits/sigaction.h
564 (struct sigaction): Define sa_handler and sa_sigaction using union
565 also for [__USE_XOPEN_EXTENDED].
566 (SA_ONSTACK): Change [__USE_UNIX98] condition to
567 [__USE_XOPEN_EXTENDED].
568 (SA_RESTART): Likewise.
569 (SA_NODEFER): Likewise.
570 (SA_RESETHAND): Likewise.
571 * sysdeps/unix/sysv/linux/s390/bits/sigaction.h
572 (struct sigaction): Define sa_handler and sa_sigaction using union
573 also for [__USE_XOPEN_EXTENDED].
574 (SA_ONSTACK): Change [__USE_UNIX98] condition to
575 [__USE_XOPEN_EXTENDED].
576 (SA_RESTART): Likewise.
577 (SA_NODEFER): Likewise.
578 (SA_RESETHAND): Likewise.
579 * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
580 (struct sigaction): Define sa_handler and sa_sigaction using union
581 also for [__USE_XOPEN_EXTENDED].
582 (SA_ONSTACK): Change [__USE_UNIX98] condition to
583 [__USE_XOPEN_EXTENDED].
584 (SA_RESTART): Likewise.
585 (SA_NODEFER): Likewise. Define directly rather than as alias.
586 (SA_RESETHAND): Likewise.
587 (SA_INTERRUPT): Define only for [__USE_MISC].
588 (SA_NOMASK): Define as alias of SA_NODEFER, only for [__USE_MISC].
589 (SA_ONESHOT): Define as alias of SA_RESETHAND, only for
591 (SA_STACK): Define only for [__USE_MISC].
592 * sysdeps/unix/sysv/linux/tile/bits/sigaction.h
593 (struct sigaction): Define sa_handler and sa_sigaction using union
594 also for [__USE_XOPEN_EXTENDED].
595 (SA_ONSTACK): Change [__USE_UNIX98] condition to
596 [__USE_XOPEN_EXTENDED].
597 (SA_RESTART): Likewise.
598 (SA_NODEFER): Likewise.
599 (SA_RESETHAND): Likewise.
600 (SA_NOPTRACE): Define only for [__USE_MISC].
602 * catgets/catgets.c (catgets): Use uintN_t instead of u_intN_t.
603 * catgets/catgetsinfo.h (struct catalog_obj): Likewise.
604 (struct catalog_info): Likewise.
605 * inet/htontest.c (lo): Likewise.
607 * inet/inet_lnaof.c (inet_lnaof): Likewise.
608 * inet/inet_net.c (inet_network): Likewise.
609 * inet/inet_netof.c (inet_netof): Likewise.
610 * inet/rcmd.c (__ivaliduser): Likewise.
611 (iruserok): Likewise.
612 * locale/loadlocale.c (_nl_intern_locale_data): Likewise.
613 * locale/programs/locale-spec.c (locale_special): Likewise.
614 * nis/nis_findserv.c (struct findserv_req): Likewise.
615 (__nis_findfastest_with_timeout): Likewise.
616 * nss/test-netdb.c (test_network): Likewise.
617 * resolv/inet_neta.c (inet_neta): Likewise.
618 * resolv/ns_date.c (ns_datetosecs): Likewise.
619 (SECS_PER_DAY): Likewise.
620 * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r):
622 * resolv/res_comp.c (__putlong): Likewise.
623 (__putshort): Likewise.
624 (_getlong): Likewise.
625 (_getshort): Likewise.
626 * resolv/res_debug.c (p_time): Likewise.
627 (precsize_ntoa): Likewise.
628 (precsize_aton): Likewise.
629 (latlon2ul): Likewise.
630 (loc_aton): Likewise.
631 (loc_ntoa): Likewise.
632 * resolv/res_hconf.c (struct netaddr): Likewise.
633 (_res_hconf_reorder_addrs): Likewise.
634 * sunrpc/clnt_tcp.c (clnttcp_call): Likewise.
635 (clnttcp_control): Likewise.
636 * sunrpc/clnt_udp.c (clntudp_call): Likewise.
637 (clntudp_control): Likewise.
638 * sunrpc/clnt_unix.c (clntunix_call): Likewise.
639 (clntunix_control): Likewise.
640 * sunrpc/pmap_rmt.c (clnt_broadcast): Likewise.
641 * sunrpc/rpc/auth.h (union des_block): Likewise.
642 * sunrpc/tst-udp-nonblocking.c (do_test): Likewise.
643 * sunrpc/xdr_rec.c (struct rec_strm): Likewise.
644 (xdrrec_create): Likewise.
645 (xdrrec_endofrecord): Likewise.
646 (flush_out): Likewise.
647 * sunrpc/xdr_stdio.c (xdrstdio_getlong): Likewise.
648 (xdrstdio_putlong): Likewise.
649 * sysdeps/unix/sysv/linux/errqueue.h (struct sock_extended_err):
652 * misc/sys/cdefs.h (__long_double_t): Remove.
653 * stdio-common/printf_fp.c (__printf_fp_l): Use long double
654 instead of __long_double_t,
655 * stdlib/strfmon_l.c (__vstrfmon_l): Likewise.
657 2017-08-07 Siddhesh Poyarekar <siddhesh@sourceware.org>
659 * benchtests/scripts/compare_strings.py: Avoid display error when
660 running on a text terminal.
662 * benchtests/scripts/compare_strings.py (main): Add an
663 optional -base option.
664 (process_results): New argument base_func.
666 * benchtests/bench-memcpy.c (test_main): Use TEST_NAME instead of
668 * benchtests/bench-memcpy-large.c (test_name): Likewise.
669 * benchtests/bench-memcpy-random.c (test_name): Likewise.
671 2017-08-07 Andreas Schwab <schwab@suse.de>
673 * elf/Makefile ($(objpfx)tst-pathopt.out): Redirect output to target.
674 * grp/Makefile ($(objpfx)tst_fgetgrent.out): Likewise.
675 * intl/Makefile ($(objpfx)tst-gettext.out)
676 ($(objpfx)tst-translit.out, $(objpfx)tst-gettext2.out)
677 ($(objpfx)tst-gettext4.out, $(objpfx)tst-gettext6.out): Likewise.
678 * libio/Makefile ($(objpfx)test-freopen.out): Likewise.
679 * malloc/Makefile ($(objpfx)tst-mtrace.out): Likewise.
680 * nptl/Makefile ($(objpfx)tst-tls6.out): Likewise.
681 * posix/Makefile ($(objpfx)globtest.out)
682 ($(objpfx)wordexp-tst.out, $(objpfx)tst-getconf.out): Likewise.
683 * stdio-common/Makefile ($(objpfx)tst-unbputc.out)
684 ($(objpfx)tst-printf.out): Likewise.
685 * stdlib/Makefile ($(objpfx)tst-fmtmsg.out)
686 ($(objpfx)tst-setcontext3.out): Likewise.
688 2017-08-07 H.J. Lu <hongjiu.lu@intel.com>
690 * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
691 Add e_exp-fma, e_log-fma, e_pow-fma, s_atan-fma, e_asin-fma,
692 e_atan2-fma, s_sin-fma, s_tan-fma, mplog-fma, mpa-fma,
693 slowexp-fma, slowpow-fma, sincos32-fma, doasin-fma, dosincos-fma,
694 halfulp-fma, mpexp-fma, mpatan2-fma, mpatan-fma, mpsqrt-fma,
696 (CFLAGS-doasin-fma.c): New.
697 (CFLAGS-dosincos-fma.c): Likewise.
698 (CFLAGS-e_asin-fma.c): Likewise.
699 (CFLAGS-e_atan2-fma.c): Likewise.
700 (CFLAGS-e_exp-fma.c): Likewise.
701 (CFLAGS-e_log-fma.c): Likewise.
702 (CFLAGS-e_pow-fma.c): Likewise.
703 (CFLAGS-halfulp-fma.c): Likewise.
704 (CFLAGS-mpa-fma.c): Likewise.
705 (CFLAGS-mpatan-fma.c): Likewise.
706 (CFLAGS-mpatan2-fma.c): Likewise.
707 (CFLAGS-mpexp-fma.c): Likewise.
708 (CFLAGS-mplog-fma.c): Likewise.
709 (CFLAGS-mpsqrt-fma.c): Likewise.
710 (CFLAGS-mptan-fma.c): Likewise.
711 (CFLAGS-s_atan-fma.c): Likewise.
712 (CFLAGS-sincos32-fma.c): Likewise.
713 (CFLAGS-slowexp-fma.c): Likewise.
714 (CFLAGS-slowpow-fma.c): Likewise.
715 (CFLAGS-s_sin-fma.c): Likewise.
716 (CFLAGS-s_tan-fma.c): Likewise.
717 * sysdeps/x86_64/fpu/multiarch/doasin-fma.c: New file.
718 * sysdeps/x86_64/fpu/multiarch/dosincos-fma.c: Likewise.
719 * sysdeps/x86_64/fpu/multiarch/e_asin-fma.c: Likewise.
720 * sysdeps/x86_64/fpu/multiarch/e_atan2-fma.c: Likewise.
721 * sysdeps/x86_64/fpu/multiarch/e_exp-fma.c: Likewise.
722 * sysdeps/x86_64/fpu/multiarch/e_log-fma.c: Likewise.
723 * sysdeps/x86_64/fpu/multiarch/e_pow-fma.c: Likewise.
724 * sysdeps/x86_64/fpu/multiarch/halfulp-fma.c: Likewise.
725 * sysdeps/x86_64/fpu/multiarch/ifunc-avx-fma4.h: Likewise.
726 * sysdeps/x86_64/fpu/multiarch/ifunc-fma4.h: Likewise.
727 * sysdeps/x86_64/fpu/multiarch/mpa-fma.c: Likewise.
728 * sysdeps/x86_64/fpu/multiarch/mpatan-fma.c: Likewise.
729 * sysdeps/x86_64/fpu/multiarch/mpatan2-fma.c: Likewise.
730 * sysdeps/x86_64/fpu/multiarch/mpexp-fma.c: Likewise.
731 * sysdeps/x86_64/fpu/multiarch/mplog-fma.c: Likewise.
732 * sysdeps/x86_64/fpu/multiarch/mpsqrt-fma.c: Likewise.
733 * sysdeps/x86_64/fpu/multiarch/mptan-fma.c: Likewise.
734 * sysdeps/x86_64/fpu/multiarch/s_atan-fma.c: Likewise.
735 * sysdeps/x86_64/fpu/multiarch/s_sin-fma.c: Likewise.
736 * sysdeps/x86_64/fpu/multiarch/s_tan-fma.c: Likewise.
737 * sysdeps/x86_64/fpu/multiarch/sincos32-fma.c: Likewise.
738 * sysdeps/x86_64/fpu/multiarch/slowexp-fma.c: Likewise.
739 * sysdeps/x86_64/fpu/multiarch/slowpow-fma.c: Likewise.
740 * sysdeps/x86_64/fpu/multiarch/e_asin.c: Rewrite.
741 * sysdeps/x86_64/fpu/multiarch/e_atan2.c: Likewise.
742 * sysdeps/x86_64/fpu/multiarch/e_exp.c: Likewise.
743 * sysdeps/x86_64/fpu/multiarch/e_log.c: Likewise.
744 * sysdeps/x86_64/fpu/multiarch/e_pow.c: Likewise.
745 * sysdeps/x86_64/fpu/multiarch/s_atan.c: Likewise.
746 * sysdeps/x86_64/fpu/multiarch/s_sin.c: Likewise.
747 * sysdeps/x86_64/fpu/multiarch/s_tan.c: Likewise.
749 2017-08-04 Joseph Myers <joseph@codesourcery.com>
751 * sysdeps/generic/math_private.h (__EXPR_FLT128): Remove macro.
752 (min_of_type_f): New macro.
753 (min_of_type_): Likewise.
754 (min_of_type_l): Likewise.
755 (min_of_type_f128): Likewise.
756 (min_of_type): Define using __MATH_TG and taking an expression
758 (math_check_force_underflow): Pass expression instead of type to
760 (math_check_force_underflow_nonneg): Likewise.
762 2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
764 * sysdeps/x86/cpu-features.h [__ASSEMBLER__]
765 (LOAD_RTLD_GLOBAL_RO_RDX, HAS_FEATURE, LOAD_FUNC_GOT_EAX,
766 HAS_CPU_FEATURE, HAS_ARCH_FEATURE): Removed.
768 2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
770 * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
771 bcopy-ia32, bzero-ia32, rawmemchr-ia32 memchr-ia32,
772 memcmp-ia32, memcpy-ia32, memmove-ia32, mempcpy-ia32,
773 memset-ia32, strcat-ia32, strchr-ia32, strrchr-ia32,
774 strcpy-ia32, strcmp-ia32, strcspn-ia32, strpbrk-ia32,
775 strspn-ia32, strlen-ia32, stpcpy-ia32, stpncpy-ia32,
776 memcpy_chk-nonshared, mempcpy_chk-nonshared,
777 memmove_chk-nonshared and memset_chk-nonshared
778 * sysdeps/i386/i686/multiarch/bcopy-ia32.S: New file.
779 * sysdeps/i386/i686/multiarch/bcopy.c: Likewise.
780 * sysdeps/i386/i686/multiarch/bzero-ia32.S: Likewise.
781 * sysdeps/i386/i686/multiarch/bzero.c: Likewise.
782 * sysdeps/i386/i686/multiarch/ifunc-memmove.h: Likewise.
783 * sysdeps/i386/i686/multiarch/ifunc-memset.h: Likewise.
784 * sysdeps/i386/i686/multiarch/ifunc-sse2-bsf.h: Likewise.
785 * sysdeps/i386/i686/multiarch/ifunc-sse2-ssse3.h: Likewise.
786 * sysdeps/i386/i686/multiarch/ifunc-sse2.h: Likewise.
787 * sysdeps/i386/i686/multiarch/ifunc-sse4_2.h: Likewise.
788 * sysdeps/i386/i686/multiarch/ifunc-ssse3-sse4_2.h: Likewise.
789 * sysdeps/i386/i686/multiarch/memchr-ia32.S: Likewise.
790 * sysdeps/i386/i686/multiarch/memchr.c: Likewise.
791 * sysdeps/i386/i686/multiarch/memcmp-ia32.S: Likewise.
792 * sysdeps/i386/i686/multiarch/memcmp.c: Likewise.
793 * sysdeps/i386/i686/multiarch/memcpy-ia32.S: Likewise.
794 * sysdeps/i386/i686/multiarch/memcpy.c: Likewise.
795 * sysdeps/i386/i686/multiarch/memcpy_chk-nonshared.S: Likewise.
796 * sysdeps/i386/i686/multiarch/memcpy_chk.c: Likewise.
797 * sysdeps/i386/i686/multiarch/memmove-ia32.S: Likewise.
798 * sysdeps/i386/i686/multiarch/memmove.c: Likewise.
799 * sysdeps/i386/i686/multiarch/memmove_chk-nonshared.S: Likewise.
800 * sysdeps/i386/i686/multiarch/memmove_chk.c: Likewise.
801 * sysdeps/i386/i686/multiarch/mempcpy-ia32.S: Likewise.
802 * sysdeps/i386/i686/multiarch/mempcpy.c: Likewise.
803 * sysdeps/i386/i686/multiarch/mempcpy_chk-nonshared.S: Likewise.
804 * sysdeps/i386/i686/multiarch/mempcpy_chk.c: Likewise.
805 * sysdeps/i386/i686/multiarch/memrchr.c: Likewise.
806 * sysdeps/i386/i686/multiarch/memset-ia32.S: Likewise.
807 * sysdeps/i386/i686/multiarch/memset.c: Likewise.
808 * sysdeps/i386/i686/multiarch/memset_chk-nonshared.S: Likewise.
809 * sysdeps/i386/i686/multiarch/rawmemchr-ia32.S: Likewise.
810 * sysdeps/i386/i686/multiarch/rawmemchr.c: Likewise.
811 * sysdeps/i386/i686/multiarch/stpcpy-ia32.S: Likewise.
812 * sysdeps/i386/i686/multiarch/stpcpy-ia32.S: Likewise.
813 * sysdeps/i386/i686/multiarch/stpcpy.c: Likewise.
814 * sysdeps/i386/i686/multiarch/stpncpy-ia32.S: Likewise.
815 * sysdeps/i386/i686/multiarch/stpncpy.c: Likewise.
816 * sysdeps/i386/i686/multiarch/strcasecmp.c: Likewise.
817 * sysdeps/i386/i686/multiarch/strcasecmp_l.c: Likewise.
818 * sysdeps/i386/i686/multiarch/strcat-ia32.S: Likewise.
819 * sysdeps/i386/i686/multiarch/strcat.c: Likewise.
820 * sysdeps/i386/i686/multiarch/strchr-ia32.S: Likewise.
821 * sysdeps/i386/i686/multiarch/strchr.c: Likewise.
822 * sysdeps/i386/i686/multiarch/strcmp-ia32.S: Likewise.
823 * sysdeps/i386/i686/multiarch/strcmp.c: Likewise.
824 * sysdeps/i386/i686/multiarch/strcpy-ia32.S: Likewise.
825 * sysdeps/i386/i686/multiarch/strcpy.c: Likewise.
826 * sysdeps/i386/i686/multiarch/strcspn-ia32.S: Likewise.
827 * sysdeps/i386/i686/multiarch/strcspn.c: Likewise.
828 * sysdeps/i386/i686/multiarch/strlen-ia32.S: Likewise.
829 * sysdeps/i386/i686/multiarch/strlen.c: Likewise.
830 * sysdeps/i386/i686/multiarch/strncase.c: Likewise.
831 * sysdeps/i386/i686/multiarch/strncase_l.c: Likewise.
832 * sysdeps/i386/i686/multiarch/strncat.c: Likewise.
833 * sysdeps/i386/i686/multiarch/strncmp.c: Likewise.
834 * sysdeps/i386/i686/multiarch/strncpy.c: Likewise.
835 * sysdeps/i386/i686/multiarch/strnlen.c: Likewise.
836 * sysdeps/i386/i686/multiarch/strpbrk-ia32.S: Likewise.
837 * sysdeps/i386/i686/multiarch/strpbrk.c: Likewise.
838 * sysdeps/i386/i686/multiarch/strrchr-ia32.S: Likewise.
839 * sysdeps/i386/i686/multiarch/strrchr.c: Likewise.
840 * sysdeps/i386/i686/multiarch/strspn-ia32.S: Likewise.
841 * sysdeps/i386/i686/multiarch/strspn.c: Likewise.
842 * sysdeps/i386/i686/multiarch/wcschr.c: Likewise.
843 * sysdeps/i386/i686/multiarch/wcscmp.c: Likewise.
844 * sysdeps/i386/i686/multiarch/wcscpy.c: Likewise.
845 * sysdeps/i386/i686/multiarch/wcslen.c: Likewise.
846 * sysdeps/i386/i686/multiarch/wcsrchr.c: Likewise.
847 * sysdeps/i386/i686/multiarch/wmemcmp.c: Likewise.
848 * sysdeps/i386/i686/multiarch/bcopy.S: Removed.
849 * sysdeps/i386/i686/multiarch/bzero.S: Likewise.
850 * sysdeps/i386/i686/multiarch/memchr.S: Likewise.
851 * sysdeps/i386/i686/multiarch/memcmp.S: Likewise.
852 * sysdeps/i386/i686/multiarch/memcpy.S: Likewise.
853 * sysdeps/i386/i686/multiarch/memcpy_chk.S: Likewise.
854 * sysdeps/i386/i686/multiarch/memmove.S: Likewise.
855 * sysdeps/i386/i686/multiarch/memmove_chk.S: Likewise.
856 * sysdeps/i386/i686/multiarch/mempcpy.S: Likewise.
857 * sysdeps/i386/i686/multiarch/mempcpy_chk.S: Likewise.
858 * sysdeps/i386/i686/multiarch/memrchr.S: Likewise.
859 * sysdeps/i386/i686/multiarch/memset.S: Likewise.
860 * sysdeps/i386/i686/multiarch/memset_chk.S: Likewise.
861 * sysdeps/i386/i686/multiarch/rawmemchr.S: Likewise.
862 * sysdeps/i386/i686/multiarch/stpcpy.S: Likewise.
863 * sysdeps/i386/i686/multiarch/stpncpy.S: Likewise.
864 * sysdeps/i386/i686/multiarch/strcasecmp.S: Likewise.
865 * sysdeps/i386/i686/multiarch/strcasecmp_l.S: Likewise.
866 * sysdeps/i386/i686/multiarch/strcat.S: Likewise.
867 * sysdeps/i386/i686/multiarch/strcmp.S: Likewise.
868 * sysdeps/i386/i686/multiarch/strcpy.S: Likewise.
869 * sysdeps/i386/i686/multiarch/strcspn.S: Likewise.
870 * sysdeps/i386/i686/multiarch/strlen.S: Likewise.
871 * sysdeps/i386/i686/multiarch/strncase.S: Likewise.
872 * sysdeps/i386/i686/multiarch/strncase_l.S: Likewise.
873 * sysdeps/i386/i686/multiarch/strncat.S: Likewise.
874 * sysdeps/i386/i686/multiarch/strncmp.S: Likewise.
875 * sysdeps/i386/i686/multiarch/strncpy.S: Likewise.
876 * sysdeps/i386/i686/multiarch/strnlen.S: Likewise.
877 * sysdeps/i386/i686/multiarch/strpbrk.S: Likewise.
878 * sysdeps/i386/i686/multiarch/strrchr.S: Likewise.
879 * sysdeps/i386/i686/multiarch/strspn.S: Likewise.
880 * sysdeps/i386/i686/multiarch/wcschr.S: Likewise.
881 * sysdeps/i386/i686/multiarch/wcscmp.S: Likewise.
882 * sysdeps/i386/i686/multiarch/wcscpy.S: Likewise.
883 * sysdeps/i386/i686/multiarch/wcslen.S: Likewise.
884 * sysdeps/i386/i686/multiarch/wcsrchr.S: Likewise.
885 * sysdeps/i386/i686/multiarch/wmemcmp.S: Likewise.
887 2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
889 * sysdeps/x86_64/fpu/multiarch/Makefile (libmvec-sysdep_routines)
890 Add svml_d_cos2_core-sse2, svml_d_cos4_core-sse,
891 svml_d_cos8_core-avx2, svml_d_exp2_core-sse2,
892 svml_d_exp4_core-sse, svml_d_exp8_core-avx2,
893 svml_d_log2_core-sse2, svml_d_log4_core-sse,
894 svml_d_log8_core-avx2, svml_d_pow2_core-sse2,
895 svml_d_pow4_core-sse, svml_d_pow8_core-avx2
896 svml_d_sin2_core-sse2, svml_d_sin4_core-sse,
897 svml_d_sin8_core-avx2, svml_d_sincos2_core-sse2,
898 svml_d_sincos4_core-sse, svml_d_sincos8_core-avx2,
899 svml_s_cosf16_core-avx2, svml_s_cosf4_core-sse2,
900 svml_s_cosf8_core-sse, svml_s_expf16_core-avx2,
901 svml_s_expf4_core-sse2, svml_s_expf8_core-sse,
902 svml_s_logf16_core-avx2, svml_s_logf4_core-sse2,
903 svml_s_logf8_core-sse, svml_s_powf16_core-avx2,
904 svml_s_powf4_core-sse2, svml_s_powf8_core-sse,
905 svml_s_sincosf16_core-avx2, svml_s_sincosf4_core-sse2,
906 svml_s_sincosf8_core-sse, svml_s_sinf16_core-avx2,
907 svml_s_sinf4_core-sse2 and svml_s_sinf8_core-sse.
908 * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx2.h: New file.
909 * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx512.h: Likewise.
910 * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-sse4_1.h: Likewise.
911 * sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core.c: Likewise.
912 * sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core.c: Likewise.
913 * sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core.c: Likewise.
914 * sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core.c: Likewise.
915 * sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core.c: Likewise.
916 * sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core.c: Likewise.
917 * sysdeps/x86_64/fpu/multiarch/svml_d_log2_core.c: Likewise.
918 * sysdeps/x86_64/fpu/multiarch/svml_d_log4_core.c: Likewise.
919 * sysdeps/x86_64/fpu/multiarch/svml_d_log8_core.c: Likewise.
920 * sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core.c: Likewise.
921 * sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core.c: Likewise.
922 * sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core.c: Likewise.
923 * sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core.c: Likewise.
924 * sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core.c: Likewise.
925 * sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core.c: Likewise.
926 * sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core.c: Likewise.
927 * sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core.c: Likewise.
928 * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core.c: Likewise.
929 * sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core.c: Likewise.
930 * sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core.c: Likewise.
931 * sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core.c: Likewise.
932 * sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core.c: Likewise.
933 * sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core.c: Likewise.
934 * sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core.c: Likewise.
935 * sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core.c: Likewise.
936 * sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core.c: Likewise.
937 * sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core.c: Likewise.
938 * sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core.c: Likewise.
939 * sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core.c: Likewise.
940 * sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core.c: Likewise.
941 * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core.c: Likewise.
942 * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core.c: Likewise.
943 * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core.c: Likewise.
944 * sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core.c: Likewise.
945 * sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core.c: Likewise.
946 * sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core.c: Likewise.
947 * sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core.S: Renamed to
949 * sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core-sse2.S: This.
950 Don't include <sysdep.h> nor <init-arch.h>.
951 (_ZGVbN2v_cos): Removed.
952 * sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core.S: Renamed to
954 * sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core-sse.S: This.
955 Don't include <sysdep.h> nor <init-arch.h>.
956 (_ZGVdN4v_cos): Removed.
957 * sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core.S: Renamed to
959 * sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core-avx2.S: This.
960 Don't include <sysdep.h> nor <init-arch.h>.
961 (_ZGVeN8v_cos): Removed.
962 * sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core.S: Renamed to
964 * sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core-sse2.S: This.
965 Don't include <sysdep.h> nor <init-arch.h>.
966 (_ZGVbN2v_exp): Removed.
967 * sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core.S: Renamed to
969 * sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core-sse.S: This.
970 Don't include <sysdep.h> nor <init-arch.h>.
971 (_ZGVdN4v_exp): Removed.
972 * sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core.S: Renamed to
974 * sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core-avx2.S: This.
975 Don't include <sysdep.h> nor <init-arch.h>.
976 (_ZGVeN8v_exp): Removed.
977 * sysdeps/x86_64/fpu/multiarch/svml_d_log2_core.S: Renamed to
979 * sysdeps/x86_64/fpu/multiarch/svml_d_log2_core-sse2.S: This.
980 Don't include <sysdep.h> nor <init-arch.h>.
981 (_ZGVbN2v_log): Removed.
982 * sysdeps/x86_64/fpu/multiarch/svml_d_log4_core.S: Renamed to
984 * sysdeps/x86_64/fpu/multiarch/svml_d_log4_core-sse.S: This.
985 Don't include <sysdep.h> nor <init-arch.h>.
986 (_ZGVdN4v_log): Removed.
987 * sysdeps/x86_64/fpu/multiarch/svml_d_log8_core.S: Renamed to
989 * sysdeps/x86_64/fpu/multiarch/svml_d_log8_core-avx2.S: This.
990 Don't include <sysdep.h> nor <init-arch.h>.
991 (_ZGVeN8v_log): Removed.
992 * sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core.S: Renamed to
994 * sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core-sse2.S: This.
995 Don't include <sysdep.h> nor <init-arch.h>.
996 (_ZGVbN2vv_pow): Removed.
997 * sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core.S: Renamed to
999 * sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core-sse.S: This.
1000 Don't include <sysdep.h> nor <init-arch.h>.
1001 (_ZGVdN4vv_pow): Removed.
1002 * sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core.S: Renamed to
1004 * sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core-avx2.S: This.
1005 Don't include <sysdep.h> nor <init-arch.h>.
1006 (_ZGVeN8vv_pow): Removed.
1007 * sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core.S: Renamed to
1009 * sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core-sse2.S: This.
1010 Don't include <sysdep.h> nor <init-arch.h>.
1011 (_ZGVbN2v_sin): Removed.
1012 * sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core.S: Renamed to
1014 * sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core-sse.S: This.
1015 Don't include <sysdep.h> nor <init-arch.h>.
1016 (_ZGVbN4v_sin): Removed.
1017 * sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core.S: Renamed to
1019 * sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core-avx2.S: This.
1020 Don't include <sysdep.h> nor <init-arch.h>.
1021 (_ZGVbN8v_sin): Removed.
1022 * sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core.S: Renamed to
1024 * sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core-sse2.S: This.
1025 Don't include <sysdep.h> nor <init-arch.h>.
1026 (_ZGVbN2vvv_sincos): Removed.
1027 * sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core.S: Renamed to
1029 * sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core-sse.S: This.
1030 Don't include <sysdep.h> nor <init-arch.h>.
1031 (_ZGVdN4vvv_sincos): Removed.
1032 * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core.S: Renamed to
1034 * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core-avx2.S: This.
1035 Don't include <sysdep.h> nor <init-arch.h>.
1036 (_ZGVeN8vvv_sincos): Removed.
1037 * sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core.S: Renamed to
1039 * sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core-avx2.S: This.
1040 Don't include <sysdep.h> nor <init-arch.h>.
1041 (_ZGVeN16v_cosf): Removed.
1042 * sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core.S: Renamed to
1044 * sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core-sse2.S: This.
1045 Don't include <sysdep.h> nor <init-arch.h>.
1046 (_ZGVbN4v_cosf): Removed.
1047 * sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core.S: Renamed to
1049 * sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core-sse.S: This.
1050 Don't include <sysdep.h> nor <init-arch.h>.
1051 (_ZGVdN8v_cosf): Removed.
1052 * sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core.S: Renamed to
1054 * sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core-avx2.S: This.
1055 Don't include <sysdep.h> nor <init-arch.h>.
1056 (_ZGVeN16v_expf): Removed.
1057 * sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core.S: Renamed to
1059 * sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core-sse2.S: This.
1060 Don't include <sysdep.h> nor <init-arch.h>.
1061 (_ZGVbN4v_expf): Removed.
1062 * sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core.S: Renamed to
1064 * sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core-sse.S: This.
1065 Don't include <sysdep.h> nor <init-arch.h>.
1066 (_ZGVdN8v_expf): Removed.
1067 * sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core.S: Renamed to
1069 * sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core-avx2.S: This.
1070 Don't include <sysdep.h> nor <init-arch.h>.
1071 (_ZGVeN16v_logf): Removed.
1072 * sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core.S: Renamed to
1074 * sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core-sse2.S: This.
1075 Don't include <sysdep.h> nor <init-arch.h>.
1076 (_ZGVbN4v_logf): Removed.
1077 * sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core.S: Renamed to
1079 * sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core-sse.S: This.
1080 Don't include <sysdep.h> nor <init-arch.h>.
1081 (_ZGVdN8v_logf): Removed.
1082 * sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core.S: Renamed to
1084 * sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core-avx2.S: This.
1085 Don't include <sysdep.h> nor <init-arch.h>.
1086 (_ZGVeN16vv_powf): Removed.
1087 * sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core.S: Renamed to
1089 * sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core-sse2.S: This.
1090 Don't include <sysdep.h> nor <init-arch.h>.
1091 (_ZGVbN4vv_powf): Removed.
1092 * sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core.S: Renamed to
1094 * sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core-sse.S: This.
1095 Don't include <sysdep.h> nor <init-arch.h>.
1096 (_ZGVdN8vv_powf): Removed.
1097 * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core.S: Renamed to
1099 * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core-avx2.S: This.
1100 Don't include <sysdep.h> nor <init-arch.h>.
1101 (_ZGVeN16vvv_sincosf): Removed.
1102 * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core.S: Renamed to
1104 * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core-sse2.S: This.
1105 Don't include <sysdep.h> nor <init-arch.h>.
1106 (_ZGVbN4vvv_sincosf): Removed.
1107 * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core.S: Renamed to
1109 * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core-sse.S: This.
1110 Don't include <sysdep.h> nor <init-arch.h>.
1111 (_ZGVdN8vvv_sincosf): Removed.
1112 * sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core.S: Renamed to
1114 * sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core-avx2.S: This.
1115 Don't include <sysdep.h> nor <init-arch.h>.
1116 (_ZGVeN16v_sinf): Removed.
1117 * sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core.S: Renamed to
1119 * sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core-sse2.S: This.
1120 Don't include <sysdep.h> nor <init-arch.h>.
1121 (_ZGVbN4v_sinf): Removed.
1122 * sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core.S: Renamed to
1124 * sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core-sse.S: This.
1125 Don't include <sysdep.h> nor <init-arch.h>.
1126 (_ZGVdN8v_sinf): Removed.
1128 2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
1130 * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
1131 Add s_ceil-sse4_1, s_ceilf-sse4_1, s_floor-sse4_1,
1132 s_floorf-sse4_1, s_nearbyint-sse4_1, s_nearbyintf-sse4_1,
1133 s_rint-sse4_1 and s_rintf-sse4_1.
1134 * sysdeps/x86_64/fpu/multiarch/ifunc-sse4_1.h: New file.
1135 * sysdeps/x86_64/fpu/multiarch/s_ceil.c: Likewise.
1136 * sysdeps/x86_64/fpu/multiarch/s_ceilf.c: Likewise.
1137 * sysdeps/x86_64/fpu/multiarch/s_floor.c: Likewise.
1138 * sysdeps/x86_64/fpu/multiarch/s_floorf.c: Likewise.
1139 * sysdeps/x86_64/fpu/multiarch/s_nearbyint.c: Likewise.
1140 * sysdeps/x86_64/fpu/multiarch/s_nearbyintf.c: Likewise.
1141 * sysdeps/x86_64/fpu/multiarch/s_rint.c: Likewise.
1142 * sysdeps/x86_64/fpu/multiarch/s_rintf.c: Likewise.
1143 * sysdeps/x86_64/fpu/multiarch/s_ceil.S: Renamed to ...
1144 * sysdeps/x86_64/fpu/multiarch/s_ceil-sse4_1.S: This. Don't
1145 include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
1147 * sysdeps/x86_64/fpu/multiarch/s_ceilf.S: Renamed to ...
1148 * sysdeps/x86_64/fpu/multiarch/s_ceilf-sse4_1.S: This. Don't
1149 include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
1151 * sysdeps/x86_64/fpu/multiarch/s_floor.S: Renamed to ...
1152 * sysdeps/x86_64/fpu/multiarch/s_floor-sse4_1.S: This. Don't
1153 include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
1155 * sysdeps/x86_64/fpu/multiarch/s_floorf.S: Renamed to ...
1156 * sysdeps/x86_64/fpu/multiarch/s_floorf-sse4_1.S: This. Don't
1157 include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
1158 (__floorf): Removed.
1159 * sysdeps/x86_64/fpu/multiarch/s_nearbyint.S: Renamed to ...
1160 * sysdeps/x86_64/fpu/multiarch/s_nearbyint-sse4_1.S: This. Don't
1161 include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
1162 (__nearbyint): Removed.
1163 * sysdeps/x86_64/fpu/multiarch/s_nearbyintf.S: Renamed to ...
1164 * sysdeps/x86_64/fpu/multiarch/s_nearbyintf-sse4_1.S: This. Don't
1165 include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
1166 (__nearbyintf): Removed.
1167 * sysdeps/x86_64/fpu/multiarch/s_rint.S: Renamed to ...
1168 * sysdeps/x86_64/fpu/multiarch/s_rint-sse4_1.S: This. Don't
1169 include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
1171 * sysdeps/x86_64/fpu/multiarch/s_rintf.S: Renamed to ...
1172 * sysdeps/x86_64/fpu/multiarch/s_rintf-sse4_1.S: This. Don't
1173 include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
1176 2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
1178 * sysdeps/i386/start.S (_start): Check Check PIC instead of
1179 SHARED. Avoid dynamic relocation against main in static PIE.
1181 2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
1184 * elf/Makefile (CFLAGS-tst-prelink.c): New.
1185 (LDFLAGS-tst-prelink): Likewise.
1187 2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
1189 * sysdeps/unix/sysv/linux/i386/sysdep.h (I386_USE_SYSENTER):
1190 Define to I386_USE_SYSENTER to 0 or 1 if not defined.
1191 (ENTER_KERNEL): Check if I386_USE_SYSENTER is 1 and check PIC.
1192 (INTERNAL_SYSCALL_MAIN_INLINE): Likewise.
1193 (INTERNAL_SYSCALL_NCS): Likewise.
1194 (LOADARGS_1): Likewise.
1195 (LOADARGS_5): Likewise.
1196 (RESTOREARGS_1): Likewise.
1197 (RESTOREARGS_5): Likewise.
1199 2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
1201 * sysdeps/x86_64/memmove.S (MEMCPY_SYMBOL): Don't check SHARED.
1202 (MEMPCPY_SYMBOL): Likewise.
1203 * sysdeps/x86_64/multiarch/ifunc-impl-list.c
1204 (__libc_ifunc_impl_list): Test memcpy and mempcpy in libc.a.
1205 * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: Also include
1207 * sysdeps/x86_64/multiarch/memcpy-ssse3.S: Likewise.
1208 * sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S:
1210 * sysdeps/x86_64/multiarch/memcpy.c: Also include in libc.a.
1211 (__hidden_ver1): Don't use in libc.a.
1212 * sysdeps/x86_64/multiarch/memmove-sse2-unaligned-erms.S
1213 (__mempcpy): Don't create a weak alias in libc.a.
1214 * sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: Support
1216 * sysdeps/x86_64/multiarch/mempcpy.c: Also include in libc.a.
1217 (__hidden_ver1): Don't use in libc.a.
1219 2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
1221 * config.make.in (have-insert): New.
1222 * configure.ac (libc_cv_insert): New. Set to yes if linker
1223 supports INSERT in linker script.
1224 (AC_SUBST(libc_cv_insert): New.
1225 * configure: Regenerated.
1226 * sysdeps/x86_64/Makefile (tests): Add tst-split-dynreloc only
1227 if $(have-insert) == yes.
1229 2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
1231 * elf/Makefile (tests): Add vismain only if
1232 $(have-protected-data) == yes.
1233 (tests-pie): Likewise.
1235 2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
1238 * sysdeps/x86/cpu-features.c (init_cpu_features): Set
1239 bit_arch_Use_dl_runtime_resolve_opt only with AVX512F.
1241 2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
1244 * sysdeps/i386/i586/memset.S
1245 (__memset_zero_constant_len_parameter): Removed.
1246 * sysdeps/i386/i686/memset.S
1247 (__memset_zero_constant_len_parameter): Likewise.
1248 * sysdeps/i386/i686/multiarch/memset_chk.S
1249 (__memset_zero_constant_len_parameter): Likewise.
1250 * sysdeps/x86_64/memset.S (__memset_zero_constant_len_parameter):
1253 2017-08-03 Aurelien Jarno <aurelien@aurel32.net>
1255 * stdlib/getentropy.c (getentropy): Change return type to int.
1257 2017-08-03 Aurelien Jarno <aurelien@aurel32.net>
1259 * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Regenerated.
1261 2017-08-03 Joseph Myers <joseph@codesourcery.com>
1263 * math/s_nextafter.c (__nextafter): Use uintN_t instead of
1265 * math/s_nexttowardf.c (__nexttowardf): Likewise.
1266 * sysdeps/generic/math_private.h (ieee_double_shape_type):
1268 (ieee_float_shape_type): Likewise.
1269 * sysdeps/i386/fpu/s_fpclassifyl.c (__fpclassifyl): Likewise.
1270 * sysdeps/i386/fpu/s_isnanl.c (__isnanl): Likewise.
1271 * sysdeps/i386/fpu/s_nextafterl.c (__nextafterl): Likewise.
1272 * sysdeps/i386/fpu/s_nexttoward.c (__nexttoward): Likewise.
1273 * sysdeps/i386/fpu/s_nexttowardf.c (__nexttowardf): Likewise.
1274 * sysdeps/ieee754/dbl-64/e_acosh.c (__ieee754_acosh): Likewise.
1275 * sysdeps/ieee754/dbl-64/e_cosh.c (__ieee754_cosh): Likewise.
1276 * sysdeps/ieee754/dbl-64/e_fmod.c (__ieee754_fmod): Likewise.
1277 * sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r):
1279 * sysdeps/ieee754/dbl-64/e_hypot.c (__ieee754_hypot): Likewise.
1280 * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise.
1281 (__ieee754_yn): Likewise.
1282 * sysdeps/ieee754/dbl-64/e_log10.c (__ieee754_log10): Likewise.
1283 * sysdeps/ieee754/dbl-64/e_log2.c (__ieee754_log2): Likewise.
1284 * sysdeps/ieee754/dbl-64/e_rem_pio2.c (__ieee754_rem_pio2):
1286 * sysdeps/ieee754/dbl-64/e_sinh.c (__ieee754_sinh): Likewise.
1287 * sysdeps/ieee754/dbl-64/s_ceil.c (__ceil): Likewise.
1288 * sysdeps/ieee754/dbl-64/s_copysign.c (__copysign): Likewise.
1289 * sysdeps/ieee754/dbl-64/s_erf.c (__erf): Likewise.
1291 * sysdeps/ieee754/dbl-64/s_expm1.c (__expm1): Likewise.
1292 * sysdeps/ieee754/dbl-64/s_finite.c (FINITE): Likewise.
1293 * sysdeps/ieee754/dbl-64/s_floor.c (__floor): Likewise.
1294 * sysdeps/ieee754/dbl-64/s_fpclassify.c (__fpclassify): Likewise.
1295 * sysdeps/ieee754/dbl-64/s_isnan.c (__isnan): Likewise.
1296 * sysdeps/ieee754/dbl-64/s_issignaling.c (__issignaling):
1298 * sysdeps/ieee754/dbl-64/s_llrint.c (__llrint): Likewise.
1299 * sysdeps/ieee754/dbl-64/s_llround.c (__llround): Likewise.
1300 * sysdeps/ieee754/dbl-64/s_lrint.c (__lrint): Likewise.
1301 * sysdeps/ieee754/dbl-64/s_lround.c (__lround): Likewise.
1302 * sysdeps/ieee754/dbl-64/s_modf.c (__modf): Likewise.
1303 * sysdeps/ieee754/dbl-64/s_nextup.c (__nextup): Likewise.
1304 * sysdeps/ieee754/dbl-64/s_remquo.c (__remquo): Likewise.
1305 * sysdeps/ieee754/dbl-64/s_round.c (__round): Likewise.
1306 * sysdeps/ieee754/dbl-64/s_trunc.c (__trunc): Likewise.
1307 * sysdeps/ieee754/dbl-64/wordsize-64/s_issignaling.c
1308 (__issignaling): Likewise.
1309 * sysdeps/ieee754/flt-32/e_atan2f.c (__ieee754_atan2f): Likewise.
1310 * sysdeps/ieee754/flt-32/e_fmodf.c (__ieee754_fmodf): Likewise.
1311 * sysdeps/ieee754/flt-32/e_gammaf_r.c (__ieee754_gammaf_r):
1313 * sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_ynf): Likewise.
1314 * sysdeps/ieee754/flt-32/e_log10f.c (__ieee754_log10f): Likewise.
1315 * sysdeps/ieee754/flt-32/e_powf.c (__ieee754_powf): Likewise.
1316 * sysdeps/ieee754/flt-32/e_rem_pio2f.c (__ieee754_rem_pio2f):
1318 * sysdeps/ieee754/flt-32/e_remainderf.c (__ieee754_remainderf):
1320 * sysdeps/ieee754/flt-32/e_sqrtf.c (__ieee754_sqrtf): Likewise.
1321 * sysdeps/ieee754/flt-32/s_ceilf.c (__ceilf): Likewise.
1322 * sysdeps/ieee754/flt-32/s_copysignf.c (__copysignf): Likewise.
1323 * sysdeps/ieee754/flt-32/s_erff.c (__erff): Likewise.
1324 (__erfcf): Likewise.
1325 * sysdeps/ieee754/flt-32/s_expm1f.c (__expm1f): Likewise.
1326 * sysdeps/ieee754/flt-32/s_finitef.c (FINITEF): Likewise.
1327 * sysdeps/ieee754/flt-32/s_floorf.c (__floorf): Likewise.
1328 * sysdeps/ieee754/flt-32/s_fpclassifyf.c (__fpclassifyf):
1330 * sysdeps/ieee754/flt-32/s_isnanf.c (__isnanf): Likewise.
1331 * sysdeps/ieee754/flt-32/s_issignalingf.c (__issignalingf):
1333 * sysdeps/ieee754/flt-32/s_llrintf.c (__llrintf): Likewise.
1334 * sysdeps/ieee754/flt-32/s_llroundf.c (__llroundf): Likewise.
1335 * sysdeps/ieee754/flt-32/s_lrintf.c (__lrintf): Likewise.
1336 * sysdeps/ieee754/flt-32/s_lroundf.c (__lroundf): Likewise.
1337 * sysdeps/ieee754/flt-32/s_modff.c (__modff): Likewise.
1338 * sysdeps/ieee754/flt-32/s_remquof.c (__remquof): Likewise.
1339 * sysdeps/ieee754/flt-32/s_roundf.c (__roundf): Likewise.
1340 * sysdeps/ieee754/ldbl-128/e_acoshl.c (__ieee754_acoshl):
1342 * sysdeps/ieee754/ldbl-128/e_atan2l.c (__ieee754_atan2l):
1344 * sysdeps/ieee754/ldbl-128/e_atanhl.c (__ieee754_atanhl):
1346 * sysdeps/ieee754/ldbl-128/e_fmodl.c (__ieee754_fmodl): Likewise.
1347 * sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gammal_r):
1349 * sysdeps/ieee754/ldbl-128/e_hypotl.c (__ieee754_hypotl):
1351 * sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise.
1352 (__ieee754_ynl): Likewise.
1353 * sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Likewise.
1354 * sysdeps/ieee754/ldbl-128/e_rem_pio2l.c (__ieee754_rem_pio2l):
1356 * sysdeps/ieee754/ldbl-128/e_remainderl.c (__ieee754_remainderl):
1358 * sysdeps/ieee754/ldbl-128/e_sinhl.c (__ieee754_sinhl): Likewise.
1359 * sysdeps/ieee754/ldbl-128/k_cosl.c (__kernel_cosl): Likewise.
1360 * sysdeps/ieee754/ldbl-128/k_sincosl.c (__kernel_sincosl):
1362 * sysdeps/ieee754/ldbl-128/k_sinl.c (__kernel_sinl): Likewise.
1363 * sysdeps/ieee754/ldbl-128/s_ceill.c (__ceill): Likewise.
1364 * sysdeps/ieee754/ldbl-128/s_copysignl.c (__copysignl): Likewise.
1365 * sysdeps/ieee754/ldbl-128/s_erfl.c (__erfcl): Likewise.
1366 * sysdeps/ieee754/ldbl-128/s_fabsl.c (__fabsl): Likewise.
1367 * sysdeps/ieee754/ldbl-128/s_finitel.c (__finitel): Likewise.
1368 * sysdeps/ieee754/ldbl-128/s_floorl.c (__floorl): Likewise.
1369 * sysdeps/ieee754/ldbl-128/s_fpclassifyl.c (__fpclassifyl):
1371 * sysdeps/ieee754/ldbl-128/s_frexpl.c (__frexpl): Likewise.
1372 * sysdeps/ieee754/ldbl-128/s_isnanl.c (__isnanl): Likewise.
1373 * sysdeps/ieee754/ldbl-128/s_issignalingl.c (__issignalingl):
1375 * sysdeps/ieee754/ldbl-128/s_llrintl.c (__llrintl): Likewise.
1376 * sysdeps/ieee754/ldbl-128/s_llroundl.c (__llroundl): Likewise.
1377 * sysdeps/ieee754/ldbl-128/s_lrintl.c (__lrintl): Likewise.
1378 * sysdeps/ieee754/ldbl-128/s_lroundl.c (__lroundl): Likewise.
1379 * sysdeps/ieee754/ldbl-128/s_modfl.c (__modfl): Likewise.
1380 * sysdeps/ieee754/ldbl-128/s_nearbyintl.c (__nearbyintl):
1382 * sysdeps/ieee754/ldbl-128/s_nextafterl.c (__nextafterl):
1384 * sysdeps/ieee754/ldbl-128/s_nexttoward.c (__nexttoward):
1386 * sysdeps/ieee754/ldbl-128/s_nexttowardf.c (__nexttowardf):
1388 * sysdeps/ieee754/ldbl-128/s_nextupl.c (__nextupl): Likewise.
1389 * sysdeps/ieee754/ldbl-128/s_remquol.c (__remquol): Likewise.
1390 * sysdeps/ieee754/ldbl-128/s_rintl.c (__rintl): Likewise.
1391 * sysdeps/ieee754/ldbl-128/s_roundl.c (__roundl): Likewise.
1392 * sysdeps/ieee754/ldbl-128/s_tanhl.c (__tanhl): Likewise.
1393 * sysdeps/ieee754/ldbl-128/s_truncl.c (__truncl): Likewise.
1394 * sysdeps/ieee754/ldbl-128ibm/e_fmodl.c (__ieee754_fmodl):
1396 * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (__ieee754_gammal_r):
1398 * sysdeps/ieee754/ldbl-128ibm/e_powl.c (__ieee754_powl): Likewise.
1399 * sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c (__ieee754_rem_pio2l):
1401 * sysdeps/ieee754/ldbl-128ibm/e_remainderl.c
1402 (__ieee754_remainderl): Likewise.
1403 * sysdeps/ieee754/ldbl-128ibm/k_cosl.c (__kernel_cosl): Likewise.
1404 * sysdeps/ieee754/ldbl-128ibm/k_sinl.c (__kernel_sinl): Likewise.
1405 * sysdeps/ieee754/ldbl-128ibm/s_fabsl.c (__fabsl): Likewise.
1406 * sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c (___fpclassifyl):
1408 * sysdeps/ieee754/ldbl-128ibm/s_modfl.c (__modfl): Likewise.
1409 * sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c (__nexttowardf):
1411 * sysdeps/ieee754/ldbl-128ibm/s_remquol.c (__remquol): Likewise.
1412 * sysdeps/ieee754/ldbl-96/e_acoshl.c (__ieee754_acoshl): Likewise.
1413 * sysdeps/ieee754/ldbl-96/e_asinl.c (__ieee754_asinl): Likewise.
1414 * sysdeps/ieee754/ldbl-96/e_atanhl.c (__ieee754_atanhl): Likewise.
1415 * sysdeps/ieee754/ldbl-96/e_coshl.c (__ieee754_coshl): Likewise.
1416 * sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r):
1418 * sysdeps/ieee754/ldbl-96/e_hypotl.c (__ieee754_hypotl): Likewise.
1419 * sysdeps/ieee754/ldbl-96/e_j0l.c (__ieee754_j0l): Likewise.
1420 (__ieee754_y0l): Likewise.
1423 * sysdeps/ieee754/ldbl-96/e_j1l.c (__ieee754_j1l): Likewise.
1424 (__ieee754_y1l): Likewise.
1427 * sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise.
1428 (__ieee754_ynl): Likewise.
1429 * sysdeps/ieee754/ldbl-96/e_lgammal_r.c (sin_pi): Likewise.
1430 (__ieee754_lgammal_r): Likewise.
1431 * sysdeps/ieee754/ldbl-96/e_rem_pio2l.c (__ieee754_rem_pio2l):
1433 * sysdeps/ieee754/ldbl-96/e_sinhl.c (__ieee754_sinhl): Likewise.
1434 * sysdeps/ieee754/ldbl-96/s_copysignl.c (__copysignl): Likewise.
1435 * sysdeps/ieee754/ldbl-96/s_erfl.c (__erfl): Likewise.
1436 (__erfcl): Likewise.
1437 * sysdeps/ieee754/ldbl-96/s_frexpl.c (__frexpl): Likewise.
1438 * sysdeps/ieee754/ldbl-96/s_issignalingl.c (__issignalingl):
1440 * sysdeps/ieee754/ldbl-96/s_llrintl.c (__llrintl): Likewise.
1441 * sysdeps/ieee754/ldbl-96/s_llroundl.c (__llroundl): Likewise.
1442 * sysdeps/ieee754/ldbl-96/s_lrintl.c (__lrintl): Likewise.
1443 * sysdeps/ieee754/ldbl-96/s_lroundl.c (__lroundl): Likewise.
1444 * sysdeps/ieee754/ldbl-96/s_modfl.c (__modfl): Likewise.
1445 * sysdeps/ieee754/ldbl-96/s_nexttoward.c (__nexttoward): Likewise.
1446 * sysdeps/ieee754/ldbl-96/s_nexttowardf.c (__nexttowardf):
1448 * sysdeps/ieee754/ldbl-96/s_nextupl.c (__nextupl): Likewise.
1449 * sysdeps/ieee754/ldbl-96/s_remquol.c (__remquol): Likewise.
1450 * sysdeps/ieee754/ldbl-96/s_roundl.c (__roundl): Likewise.
1451 * sysdeps/ieee754/ldbl-96/s_tanhl.c (__tanhl): Likewise.
1452 * sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c (__nldbl_nexttowardf):
1454 * sysdeps/m68k/m680x0/fpu/e_pow.c (s(__ieee754_pow)): Likewise.
1455 * sysdeps/m68k/m680x0/fpu/s_fpclassifyl.c (__fpclassifyl):
1457 * sysdeps/m68k/m680x0/fpu/s_llrint.c (__llrint): Likewise.
1458 * sysdeps/m68k/m680x0/fpu/s_llrintf.c (__llrintf): Likewise.
1459 * sysdeps/m68k/m680x0/fpu/s_llrintl.c (__llrintl): Likewise.
1460 * sysdeps/m68k/m680x0/fpu/s_nextafterl.c (__nextafterl): Likewise.
1461 * sysdeps/x86/fpu/powl_helper.c (__powl_helper): Likewise.
1463 2017-08-03 Florian Weimer <fweimer@redhat.com>
1466 * sysdeps/posix/getaddrinfo.c (gethosts): Release resolver context
1467 on memory allocation failure.
1469 2017-08-03 Alan Modra <amodra@gmail.com>
1471 * sysdeps/powerpc/mod-tlsopt-powerpc.c: Extract from
1472 tst-tlsopt-powerpc.c with function name change and no test harness.
1473 * sysdeps/powerpc/tst-tlsopt-powerpc.c: Remove body of test.
1474 Call tls_get_addr_opt_test.
1475 * sysdeps/powerpc/Makefile (LDFLAGS-tst-tlsopt-powerpc): Don't define.
1476 (modules-names): Add mod-tlsopt-powerpc.
1477 (mod-tlsopt-powerpc.so-no-z-defs): Define.
1478 (tst-tlsopt-powerpc): Depend on .so.
1479 * sysdeps/powerpc/powerpc64/tls-macros.h (__TLS_GET_ADDR): Don't
1480 define. Expand use in TLS_GD and TLS_LD.
1482 2017-08-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
1484 * sysdeps/mach/hurd/enbl-secure.c (__libc_init_secure): Define
1486 * sysdeps/posix/shm_open.c: Include <pthread.h>.
1488 2017-08-02 Joseph Myers <joseph@codesourcery.com>
1491 * math/tgmath.h (__TGMATH_BINARY_REAL_ONLY): Add arguments before
1492 comparing size with that of double.
1493 (__TGMATH_BINARY_REAL_STD_ONLY): Likewise.
1494 (__TGMATH_BINARY_REAL_RET_ONLY): Likewise.
1495 (__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): Likewise.
1496 (__TGMATH_TERNARY_REAL_ONLY): Likewise.
1497 (__TGMATH_BINARY_REAL_IMAG): Likewise.
1498 * math/gen-tgmath-tests.py (Type.init_types): Create __int128 and
1499 unsigned __int128 types.
1501 2017-08-02 Steve Ellcey <sellcey@cavium.com>
1503 * localedata/Makefile (CFLAGS-tst_iswalnum.c, CFLAGS-tst_iswalpha.c
1504 CFLAGS-tst_iswcntrl.c, CFLAGS-tst_iswdigit.c, CFLAGS-tst_iswgraph.c,
1505 CFLAGS-tst_iswlower.c, CFLAGS-tst_iswprint.c, CFLAGS-tst_iswpunct.c,
1506 CFLAGS-tst_iswspace.c, CFLAGS-tst_iswupper.c, CFLAGS-tst_iswxdigit.c,
1507 CFLAGS-tst_towlower.c, CFLAGS-tst_towupper.c): Remove.
1509 2017-08-02 H.J. Lu <hongjiu.lu@intel.com>
1511 * sysdeps/x86_64/start.S (_start): Check PIC instead of SHARED.
1513 2017-08-02 H.J. Lu <hongjiu.lu@intel.com>
1515 * sysdeps/i386/i686/multiarch/memcmp-sse4.S: Check PIC instead
1517 * sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: Likewise.
1518 * sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S: Likewise.
1519 * sysdeps/i386/i686/multiarch/memcpy-ssse3.S: Likewise.
1520 * sysdeps/i386/i686/multiarch/memset-sse2-rep.S: Likewise.
1521 * sysdeps/i386/i686/multiarch/memset-sse2.S: Likewise.
1522 * sysdeps/i386/i686/multiarch/strcat-sse2.S: Likewise.
1523 * sysdeps/i386/i686/multiarch/strcpy-sse2.S: Likewise.
1525 2017-08-02 Joseph Myers <joseph@codesourcery.com>
1528 * math/tgmath.h (__tgmath_real_type): Use unary + on potentially
1529 bit-field expressions passed to sizeof or typeof.
1530 [__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
1531 (__TGMATH_F128): Likewise.
1532 [__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
1533 (__TGMATH_CF128): Likewise.
1534 (__TGMATH_UNARY_REAL_ONLY): Likewise.
1535 (__TGMATH_UNARY_REAL_RET_ONLY): Likewise.
1536 (__TGMATH_BINARY_FIRST_REAL_ONLY): Likewise.
1537 (__TGMATH_BINARY_FIRST_REAL_STD_ONLY): Likewise.
1538 (__TGMATH_BINARY_REAL_ONLY): Likewise.
1539 (__TGMATH_BINARY_REAL_STD_ONLY): Likewise.
1540 (__TGMATH_BINARY_REAL_RET_ONLY): Likewise.
1541 (__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): Likewise.
1542 (__TGMATH_TERNARY_REAL_ONLY): Likewise.
1543 (__TGMATH_TERNARY_FIRST_REAL_RET_ONLY): Likewise.
1544 (__TGMATH_UNARY_REAL_IMAG): Likewise.
1545 (__TGMATH_UNARY_IMAG): Likewise.
1546 (__TGMATH_UNARY_REAL_IMAG_RET_REAL): Likewise.
1547 (__TGMATH_BINARY_REAL_IMAG): Likewise.
1548 * math/gen-tgmath-tests.py (Type.init_types): Create bit_field
1550 (define_vars_for_type): Handle bit_field type specially.
1551 (Tests.__init__): Declare structure with bit-field element.
1553 2017-08-02 H.J. Lu <hongjiu.lu@intel.com>
1556 * sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S
1557 (MEMCPY_CHK): Define only if SHARED is defined.
1558 * sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S (MEMCPY_CHK):
1560 * sysdeps/i386/i686/multiarch/memcpy-ssse3.S (MEMCPY_CHK):
1563 See ChangeLog.18 for earlier changes.